diff options
author | Kedi Xu <kedix@codeaurora.org> | 2017-01-05 15:22:34 +0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-01-11 03:19:01 -0800 |
commit | 304a29a45f0875373e7dc5d131e951e703cc5f3c (patch) | |
tree | c3e8c92b0fd5a3f4b359be34f973ccfe53a3ae33 /src | |
parent | 799eeebc54a36ef206a52c762dbf9ce042338aae (diff) | |
download | android_packages_apps_Gallery2-304a29a45f0875373e7dc5d131e951e703cc5f3c.tar.gz android_packages_apps_Gallery2-304a29a45f0875373e7dc5d131e951e703cc5f3c.tar.bz2 android_packages_apps_Gallery2-304a29a45f0875373e7dc5d131e951e703cc5f3c.zip |
Gallery: fix ddm effect not applied on complete image
roiRect shoul rotate according to image orientation
Change-Id: I394861b022ee03c709d9a95ae9cf211a92c81004
CRs-Fixed: 1104597
Diffstat (limited to 'src')
4 files changed, 37 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java index df34fedbe..7b74d3561 100755 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java +++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java @@ -159,6 +159,18 @@ public class ImageFilterDualCamFusion extends ImageFilter { roiRectF.right = (float)(roiRect[0] + roiRect[2])/(float)filteredW; roiRectF.bottom = (float)(roiRect[1] + roiRect[3])/(float)filteredH; + int zoomOrientation = MasterImage.getImage().getZoomOrientation(); + if (zoomOrientation == ImageLoader.ORI_ROTATE_90 || + zoomOrientation == ImageLoader.ORI_ROTATE_180 || + zoomOrientation == ImageLoader.ORI_ROTATE_270 || + zoomOrientation == ImageLoader.ORI_TRANSPOSE || + zoomOrientation == ImageLoader.ORI_TRANSVERSE) { + Matrix mt = new Matrix(); + mt.preRotate(GeometryMathUtils.getRotationForOrientation(zoomOrientation), + 0.5f, 0.5f); + mt.mapRect(roiRectF); + } + // Check for ROI cropping if(!FilterCropRepresentation.getNil().equals(roiRectF)) { if(FilterCropRepresentation.getNil().equals(holder.crop)) { diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java index 97712db75..0eb49ab8a 100755 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java +++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java @@ -148,6 +148,18 @@ public class ImageFilterDualCamSketch extends ImageFilter { roiRectF.right = (float)(roiRect[0] + roiRect[2])/(float)filteredW; roiRectF.bottom = (float)(roiRect[1] + roiRect[3])/(float)filteredH; + int zoomOrientation = MasterImage.getImage().getZoomOrientation(); + if (zoomOrientation == ImageLoader.ORI_ROTATE_90 || + zoomOrientation == ImageLoader.ORI_ROTATE_180 || + zoomOrientation == ImageLoader.ORI_ROTATE_270 || + zoomOrientation == ImageLoader.ORI_TRANSPOSE || + zoomOrientation == ImageLoader.ORI_TRANSVERSE) { + Matrix mt = new Matrix(); + mt.preRotate(GeometryMathUtils.getRotationForOrientation(zoomOrientation), + 0.5f, 0.5f); + mt.mapRect(roiRectF); + } + // Check for ROI cropping if(!FilterCropRepresentation.getNil().equals(roiRectF)) { if(FilterCropRepresentation.getNil().equals(holder.crop)) { diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java index 49728f84c..ba6bff691 100755 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java +++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java @@ -162,6 +162,18 @@ public class ImageFilterDualCamera extends ImageFilter { roiRectF.right = (float)(roiRect[0] + roiRect[2])/(float)filteredW; roiRectF.bottom = (float)(roiRect[1] + roiRect[3])/(float)filteredH; + int zoomOrientation = MasterImage.getImage().getZoomOrientation(); + if (zoomOrientation == ImageLoader.ORI_ROTATE_90 || + zoomOrientation == ImageLoader.ORI_ROTATE_180 || + zoomOrientation == ImageLoader.ORI_ROTATE_270 || + zoomOrientation == ImageLoader.ORI_TRANSPOSE || + zoomOrientation == ImageLoader.ORI_TRANSVERSE) { + Matrix mt = new Matrix(); + mt.preRotate(GeometryMathUtils.getRotationForOrientation(zoomOrientation), + 0.5f, 0.5f); + mt.mapRect(roiRectF); + } + // Check for ROI cropping if(!FilterCropRepresentation.getNil().equals(roiRectF)) { if(FilterCropRepresentation.getNil().equals(holder.crop)) { diff --git a/src/com/android/gallery3d/filtershow/imageshow/GeometryMathUtils.java b/src/com/android/gallery3d/filtershow/imageshow/GeometryMathUtils.java index 764312199..99304c5a8 100755 --- a/src/com/android/gallery3d/filtershow/imageshow/GeometryMathUtils.java +++ b/src/com/android/gallery3d/filtershow/imageshow/GeometryMathUtils.java @@ -238,7 +238,7 @@ public final class GeometryMathUtils { } } - private static int getRotationForOrientation(int orientation) { + public static int getRotationForOrientation(int orientation) { switch (orientation) { case ImageLoader.ORI_ROTATE_90: return 90; |