summaryrefslogtreecommitdiffstats
path: root/gallerycommon/src/com/android/gallery3d/common
diff options
context:
space:
mode:
Diffstat (limited to 'gallerycommon/src/com/android/gallery3d/common')
-rw-r--r--gallerycommon/src/com/android/gallery3d/common/BitmapUtils.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/gallerycommon/src/com/android/gallery3d/common/BitmapUtils.java b/gallerycommon/src/com/android/gallery3d/common/BitmapUtils.java
index df9b93fbd..29f86e056 100644
--- a/gallerycommon/src/com/android/gallery3d/common/BitmapUtils.java
+++ b/gallerycommon/src/com/android/gallery3d/common/BitmapUtils.java
@@ -114,6 +114,8 @@ public class BitmapUtils {
public static Bitmap resizeDownToPixels(
Bitmap bitmap, int targetPixels, boolean recycle) {
+ if (bitmap == null) return null;
+
int width = bitmap.getWidth();
int height = bitmap.getHeight();
float scale = (float) Math.sqrt(
@@ -138,7 +140,7 @@ public class BitmapUtils {
}
private static Bitmap.Config getConfig(Bitmap bitmap) {
- Bitmap.Config config = bitmap.getConfig();
+ Bitmap.Config config = (bitmap != null ? bitmap.getConfig() : null);
if (config == null) {
config = Bitmap.Config.ARGB_8888;
}
@@ -147,6 +149,8 @@ public class BitmapUtils {
public static Bitmap resizeDownBySideLength(
Bitmap bitmap, int maxLength, boolean recycle) {
+ if (bitmap == null) return null;
+
int srcWidth = bitmap.getWidth();
int srcHeight = bitmap.getHeight();
float scale = Math.min(
@@ -157,6 +161,8 @@ public class BitmapUtils {
// Crops a square from the center of the original image.
public static Bitmap cropCenter(Bitmap bitmap, boolean recycle) {
+ if (bitmap == null) return null;
+
int width = bitmap.getWidth();
int height = bitmap.getHeight();
if (width == height) return bitmap;
@@ -173,6 +179,8 @@ public class BitmapUtils {
public static Bitmap resizeDownAndCropCenter(Bitmap bitmap, int size,
boolean recycle) {
+ if (bitmap == null) return null;
+
int w = bitmap.getWidth();
int h = bitmap.getHeight();
int minSide = Math.min(w, h);
@@ -203,6 +211,8 @@ public class BitmapUtils {
}
public static Bitmap rotateBitmap(Bitmap source, int rotation, boolean recycle) {
+ if (source == null) return null;
+
int w = source.getWidth();
int h = source.getHeight();
Matrix m = new Matrix();
@@ -261,6 +271,8 @@ public class BitmapUtils {
}
public static byte[] compressBitmap(Bitmap bitmap) {
+ if (bitmap == null) return null;
+
ByteArrayOutputStream os = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG,
COMPRESS_JPEG_QUALITY, os);
@@ -281,6 +293,8 @@ public class BitmapUtils {
}
public static byte[] compressToBytes(Bitmap bitmap, int quality) {
+ if (bitmap == null) return null;
+
ByteArrayOutputStream baos = new ByteArrayOutputStream(65536);
bitmap.compress(CompressFormat.JPEG, quality, baos);
return baos.toByteArray();