summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2012-10-21 15:54:30 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-10-21 15:54:30 -0700
commit56fbfd01042e266140e2398ab90f2701774833c2 (patch)
treef05177aa0e2305fefd1129f625cd37389aac9f7c
parent7ba4250e366f7990f9726dc00a3771a8dbe3dbe3 (diff)
parent589211113909726cd97e2dca7326ac1bb9e5a552 (diff)
downloadandroid_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.java6
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java25
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);