代码之家  ›  专栏  ›  技术社区  ›  sovereign

裁剪区域矩形显示先前裁剪区域的位置,如whats应用程序

  •  1
  • sovereign  · 技术社区  · 7 年前

    我正在开发Photoshop类型的应用程序,其中裁剪工具用于裁剪图像,我使用默认的裁剪意图,当我裁剪图像时,我得到一个包,其中我得到了Rect(0,0-2122)left、top、right和bottom,但我的观点是,当我第一次裁剪时,我再次裁剪裁剪器,显示其先前裁剪的区域,而不是默认区域和裁剪意图。

    CropIntent.putExtra("outputX", imageWidth);
    CropIntent.putExtra("outputY", imageHeight);
    CropIntent.putExtra("aspectX", 100);
    CropIntent.putExtra("aspectY", -100);
    CropIntent.putExtra("spotlightX", 10);
    CropIntent.putExtra("spotlightY", -10);
    

    我像这样通过l,t,r,b,我知道这是错误的,但我尝试了纵横比x和纵横比y,但聚光灯是什么,我不知道。我可以将裁剪器放置在同一图像上先前裁剪的区域吗。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Farhana Naaz Ansari Jay Dwivedi    7 年前

    您可以从以下位置使用此库: here

    使用下面的方法二恢复图像上的比例,并在要裁剪图像的位置调用它,记住活动切换时不要完成。

     public void updateCurrentCropViewOptions() {
        CropImageViewOptions options = new CropImageViewOptions();
        options.scaleType = mCropImageView.getScaleType();
        options.cropShape = mCropImageView.getCropShape();
        options.guidelines = mCropImageView.getGuidelines();
        options.aspectRatio = mCropImageView.getAspectRatio();
        options.fixAspectRatio = mCropImageView.isFixAspectRatio();
        options.showCropOverlay = mCropImageView.isShowCropOverlay();
        options.showProgressBar = mCropImageView.isShowProgressBar();
        options.autoZoomEnabled = mCropImageView.isAutoZoomEnabled();
        options.maxZoomLevel = mCropImageView.getMaxZoom();
        options.flipHorizontally = mCropImageView.isFlippedHorizontally();
        options.flipVertically = mCropImageView.isFlippedVertically();
    }