summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java
index 0f9e7b999..5f3502272 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java
@@ -18,12 +18,13 @@ package com.android.gallery3d.filtershow.filters;
import android.content.res.Resources;
import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
+import com.android.gallery3d.data.DecodeUtils;
+
import java.util.HashMap;
import java.lang.ref.WeakReference;
@@ -58,7 +59,7 @@ public class ImageFilterBorder extends ImageFilter {
Rect bounds = new Rect(0, 0, (int) (w * scale1), (int) (h * scale1));
Canvas canvas = new Canvas(bitmap);
canvas.scale(scale2, scale2);
- Drawable drawable = getDrawable(getParameters().getDrawableResource());
+ Drawable drawable = getDrawable(getParameters().getDrawableResource(), w, h);
drawable.setBounds(bounds);
drawable.draw(canvas);
return bitmap;
@@ -81,10 +82,11 @@ public class ImageFilterBorder extends ImageFilter {
}
}
- public Drawable getDrawable(int rsc) {
+ public Drawable getDrawable(int rsc, int reqWidth, int reqHeight) {
Drawable drawable = (mDrawables.get(rsc) != null) ? mDrawables.get(rsc).get() : null;
if (drawable == null && mResources != null && rsc != 0) {
- drawable = new BitmapDrawable(mResources, BitmapFactory.decodeResource(mResources, rsc));
+ drawable = new BitmapDrawable(mResources, DecodeUtils.decodeBitmap(
+ mResources, rsc, reqWidth, reqHeight));
mDrawables.put(rsc, new WeakReference<Drawable>(drawable));
}
return drawable;