Fixed wallpaper bug where wrong size was taken when cropping
When cropping, the selected area of the image was incorrectly cropped to the size of the view instead of the size of the image Bug: 13617446 Change-Id: I0b40711c04f3d3b5929e7bb037d6cf21d4bb5bcb
This commit is contained in:
@@ -367,17 +367,19 @@ public class WallpaperCropActivity extends Activity {
|
||||
// Get the crop
|
||||
RectF cropRect = mCropView.getCrop();
|
||||
|
||||
Point inSize = mCropView.getSourceDimensions();
|
||||
|
||||
// due to rounding errors in the cropview renderer the edges can be slightly offset
|
||||
// therefore we ensure that the boundaries are sanely defined
|
||||
cropRect.left = Math.max(0, cropRect.left);
|
||||
cropRect.right = Math.min(mCropView.getWidth(), cropRect.right);
|
||||
cropRect.right = Math.min(inSize.x, cropRect.right);
|
||||
cropRect.top = Math.max(0, cropRect.top);
|
||||
cropRect.bottom = Math.min(mCropView.getHeight(), cropRect.bottom);
|
||||
cropRect.bottom = Math.min(inSize.y, cropRect.bottom);
|
||||
|
||||
int cropRotation = mCropView.getImageRotation();
|
||||
float cropScale = mCropView.getWidth() / (float) cropRect.width();
|
||||
|
||||
Point inSize = mCropView.getSourceDimensions();
|
||||
|
||||
Matrix rotateMatrix = new Matrix();
|
||||
rotateMatrix.setRotate(cropRotation);
|
||||
float[] rotatedInSize = new float[] { inSize.x, inSize.y };
|
||||
|
||||
Reference in New Issue
Block a user