summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java12
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java12
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java12
3 files changed, 36 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java
index 86ad45f94..ed3552bd5 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java
@@ -108,6 +108,18 @@ public class ImageFilterDualCamFusion extends ImageFilter {
filteredW = filteredH;
filteredH = tmp;
}
+
+ // non even width or height
+ if(filteredW%2 != 0 || filteredH%2 != 0) {
+ float aspect = (float)filteredH / (float)filteredW;
+ if(filteredW >= filteredH) {
+ filteredW = MasterImage.MAX_BITMAP_DIM;
+ filteredH = (int)(filteredW * aspect);
+ } else {
+ filteredH = MasterImage.MAX_BITMAP_DIM;
+ filteredW = (int)(filteredH / aspect);
+ }
+ }
}
filteredBitmap = MasterImage.getImage().getBitmapCache().getBitmap(filteredW, filteredH, BitmapCache.FILTERS);
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java
index 30ce83438..1d8417992 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java
@@ -102,6 +102,18 @@ public class ImageFilterDualCamSketch extends ImageFilter {
filteredW = filteredH;
filteredH = tmp;
}
+
+ // non even width or height
+ if(filteredW%2 != 0 || filteredH%2 != 0) {
+ float aspect = (float)filteredH / (float)filteredW;
+ if(filteredW >= filteredH) {
+ filteredW = MasterImage.MAX_BITMAP_DIM;
+ filteredH = (int)(filteredW * aspect);
+ } else {
+ filteredH = MasterImage.MAX_BITMAP_DIM;
+ filteredW = (int)(filteredH / aspect);
+ }
+ }
}
filteredBitmap = MasterImage.getImage().getBitmapCache().getBitmap(filteredW, filteredH, BitmapCache.FILTERS);
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java
index bf9e498b1..59918cf2e 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java
@@ -106,6 +106,18 @@ public class ImageFilterDualCamera extends ImageFilter {
filteredW = filteredH;
filteredH = tmp;
}
+
+ // non even width or height
+ if(filteredW%2 != 0 || filteredH%2 != 0) {
+ float aspect = (float)filteredH / (float)filteredW;
+ if(filteredW >= filteredH) {
+ filteredW = MasterImage.MAX_BITMAP_DIM;
+ filteredH = (int)(filteredW * aspect);
+ } else {
+ filteredH = MasterImage.MAX_BITMAP_DIM;
+ filteredW = (int)(filteredH / aspect);
+ }
+ }
}
filteredBitmap = MasterImage.getImage().getBitmapCache().getBitmap(filteredW, filteredH, BitmapCache.FILTERS);