ImageFilterFx.java revision 20fb632c407a2dfb5ec769560c61deacc77b8764
1 2package com.android.gallery3d.filtershow.filters; 3 4import android.graphics.Bitmap; 5import android.graphics.drawable.Drawable; 6import android.util.Log; 7 8import com.android.gallery3d.R; 9 10import java.util.Arrays; 11 12public class ImageFilterFx extends ImageFilter { 13 private static final String TAG = "ImageFilterFx"; 14 Bitmap fxBitmap; 15 public static final String ORIG = "Original"; 16 public ImageFilterFx(Bitmap fxBitmap,String name) { 17 setFilterType(TYPE_FX); 18 mName = name; 19 this.fxBitmap = fxBitmap; 20 } 21 22 @Override 23 public ImageFilter clone() throws CloneNotSupportedException { 24 ImageFilterFx filter = (ImageFilterFx) super.clone(); 25 filter.fxBitmap = this.fxBitmap; 26 return filter; 27 } 28 29 native protected void nativeApplyFilter(Bitmap bitmap, int w, int h,Bitmap fxBitmap, int fxw, int fxh); 30 31 public Bitmap apply(Bitmap bitmap, float scaleFactor, boolean highQuality) { 32 if (fxBitmap==null) 33 return bitmap; 34 35 int w = bitmap.getWidth(); 36 int h = bitmap.getHeight(); 37 38 int fxw = fxBitmap.getWidth(); 39 int fxh = fxBitmap.getHeight(); 40 41 nativeApplyFilter(bitmap, w, h, fxBitmap, fxw, fxh); 42 return bitmap; 43 } 44} 45