2017-09-22 2 views
1

私は画像をトリミングするためにクロップツールが使用しているフォトショップタイプのアプリケーションを開発しています。 Rect(0,0-2,122)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は比で試みたが、スポット光が私にはわからないものです。私は同じ画像上の以前にトリミングされた領域にクロッパーを置くことができます。

+0

改善コード出力 –

+0

私は画像とそのL、T、R、Bを持っていたActivityForResultでバンドルを取得しました。 – sovereign

答えて

0

あなたはhere

からこのライブラリを使用し、方法2の下に使用した画像の比率を回復し、あなたのイメージがトリミングとアクティビティがそれを終了していない切り替えたときに覚えておくことがある場合、それを呼び出すことができます。

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(); 
} 
関連する問題