diff options
Diffstat (limited to 'src/com')
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; |