diff options
author | nicolasroard <nicolasroard@google.com> | 2012-10-21 15:54:30 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-10-21 15:54:30 -0700 |
commit | 56fbfd01042e266140e2398ab90f2701774833c2 (patch) | |
tree | f05177aa0e2305fefd1129f625cd37389aac9f7c | |
parent | 7ba4250e366f7990f9726dc00a3771a8dbe3dbe3 (diff) | |
parent | 589211113909726cd97e2dca7326ac1bb9e5a552 (diff) | |
download | android_packages_apps_Snap-56fbfd01042e266140e2398ab90f2701774833c2.tar.gz android_packages_apps_Snap-56fbfd01042e266140e2398ab90f2701774833c2.tar.bz2 android_packages_apps_Snap-56fbfd01042e266140e2398ab90f2701774833c2.zip |
am 104165f1: Fix several issues with crop/straighten
* commit '104165f1f9858bdebb2d219b077f5227203f7c02':
Fix several issues with crop/straighten
-rw-r--r-- | src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java | 6 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java | 25 |
2 files changed, 25 insertions, 6 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java index b9c94b634..2c7ed2dd8 100644 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java +++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java @@ -105,7 +105,11 @@ public class ImageFilterGeometry extends ImageFilter { bitmap.getWidth() / rp.width(), null); */ Canvas canvas = new Canvas(temp); - canvas.drawBitmap(bitmap, drawMatrix, new Paint()); + Paint paint = new Paint(); + paint.setAntiAlias(true); + paint.setFilterBitmap(true); + paint.setDither(true); + canvas.drawBitmap(bitmap, drawMatrix, paint); return temp; } diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java b/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java index 3f8326d14..a57868ce9 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java @@ -57,6 +57,7 @@ public class ImageCrop extends ImageGeometry { private int movingEdges; private final Drawable cropIndicator; private final int indicatorSize; + private final int mBorderColor = Color.argb(128, 255, 255, 255); private static final String LOGTAG = "ImageCrop"; @@ -67,10 +68,9 @@ public class ImageCrop extends ImageGeometry { Resources resources = context.getResources(); cropIndicator = resources.getDrawable(R.drawable.camera_crop); indicatorSize = (int) resources.getDimension(R.dimen.crop_indicator_size); - int borderColor = Color.argb(128, 255, 255, 255); borderPaint = new Paint(); borderPaint.setStyle(Paint.Style.STROKE); - borderPaint.setColor(borderColor); + borderPaint.setColor(mBorderColor); borderPaint.setStrokeWidth(2f); } @@ -79,10 +79,9 @@ public class ImageCrop extends ImageGeometry { Resources resources = context.getResources(); cropIndicator = resources.getDrawable(R.drawable.camera_crop); indicatorSize = (int) resources.getDimension(R.dimen.crop_indicator_size); - int borderColor = Color.argb(128, 255, 255, 255); borderPaint = new Paint(); borderPaint.setStyle(Paint.Style.STROKE); - borderPaint.setColor(borderColor); + borderPaint.setColor(mBorderColor); borderPaint.setStrokeWidth(2f); } @@ -580,6 +579,21 @@ public class ImageCrop extends ImageGeometry { protected void lostVisibility() { } + private void drawRuleOfThird(Canvas canvas, RectF bounds) { + float stepX = bounds.width() / 3.0f; + float stepY = bounds.height() / 3.0f; + float x = bounds.left + stepX; + float y = bounds.top + stepY; + for (int i = 0; i < 2; i++) { + canvas.drawLine(x, bounds.top, x, bounds.bottom, gPaint); + x += stepX; + } + for (int j = 0; j < 2; j++) { + canvas.drawLine(bounds.left, y, bounds.right, y, gPaint); + y += stepY; + } + } + @Override protected void drawShape(Canvas canvas, Bitmap image) { // TODO: move style to xml @@ -595,11 +609,12 @@ public class ImageCrop extends ImageGeometry { float rotation = getLocalRotation(); drawTransformedBitmap(canvas, image, gPaint, true); - gPaint.setARGB(255, 125, 255, 128); + gPaint.setColor(mBorderColor); gPaint.setStrokeWidth(3); gPaint.setStyle(Paint.Style.STROKE); drawStraighten(canvas, gPaint); RectF scaledCrop = unrotatedCropBounds(); + drawRuleOfThird(canvas, scaledCrop); int decoded_moving = decoder(movingEdges, rotation); canvas.save(); canvas.rotate(rotation, mCenterX, mCenterY); |