diff options
author | nicolasroard <nicolasroard@google.com> | 2012-10-21 12:58:59 -0700 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2012-10-21 13:24:42 -0700 |
commit | 74711ae65afa48c44f5da250bf4f4ef0291ab09c (patch) | |
tree | 4b66dfca88438d4d1b26b2c42d65d7ef3bb8a0ef | |
parent | be536c2f7882c587a2ad7fcb566b04521fe8604b (diff) | |
download | android_packages_apps_Snap-74711ae65afa48c44f5da250bf4f4ef0291ab09c.tar.gz android_packages_apps_Snap-74711ae65afa48c44f5da250bf4f4ef0291ab09c.tar.bz2 android_packages_apps_Snap-74711ae65afa48c44f5da250bf4f4ef0291ab09c.zip |
Revert partially CL https://googleplex-android-review.googlesource.com/#/c/243614/
bug:7384984
Change-Id: Id10c7ac08cc7aab4d2f4b19c88b20d0f3369807a
-rw-r--r-- | src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java index b5b505f55..b9c94b634 100644 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java +++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java @@ -63,6 +63,21 @@ public class ImageFilterGeometry extends ImageFilter { native protected void nativeApplyFilterStraighten(Bitmap src, int srcWidth, int srcHeight, Bitmap dst, int dstWidth, int dstHeight, float straightenAngle); + public Matrix buildMatrix(RectF r) { + float dx = r.width() / 2; + float dy = r.height() / 2; + if (mGeometry.hasSwitchedWidthHeight()) { + float temp = dx; + dx = dy; + dy = temp; + } + float w = r.left * 2 + r.width(); + float h = r.top * 2 + r.height(); + Matrix m = mGeometry.buildGeometryMatrix(w, h, 1f, dx, dy, false); + + return m; + } + @Override public Bitmap apply(Bitmap bitmap, float scaleFactor, boolean highQuality) { // TODO: implement bilinear or bicubic here... for now, just use @@ -79,12 +94,16 @@ public class ImageFilterGeometry extends ImageFilter { temp = Bitmap.createBitmap(cropBounds.width(), cropBounds.height(), mConfig); } + Matrix drawMatrix = buildMatrix(crop); + /* RectF rp = mGeometry.getPhotoBounds(); RectF rc = mGeometry.getPreviewCropBounds(); + // TODO: fix this method instead of calling the above buildMatrix() Matrix drawMatrix = mGeometry.buildTotalXform(rp.width(), rp.height(), rc.width(), rc.height(), rc.left, rc.top, mGeometry.getRotation(), mGeometry.getStraightenRotation(), bitmap.getWidth() / rp.width(), null); + */ Canvas canvas = new Canvas(temp); canvas.drawBitmap(bitmap, drawMatrix, new Paint()); return temp; |