public static Bitmap readGrayBitMap(Context context, int resId) {
Bitmap bitmap = readBitmap(context, resId);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Bitmap grayImg = null;
try {
grayImg = Bitmap.createBitmap(width, height,
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(grayImg);
Paint paint = new Paint();
ColorMatrix colorMatrix = new ColorMatrix();//仰仗這玩意了
colorMatrix.setSaturation(0);
ColorMatrixColorFilter colorMatrixFilter = new ColorMatrixColorFilter(
colorMatrix);
paint.setColorFilter(colorMatrixFilter);
canvas.drawBitmap(bitmap, 0, 0, paint);
}catch (Exception e) {
e.printStackTrace();
}
return grayImg;
}
public static Bitmap readBitmap(Context context, int id){
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig=Bitmap.Config.ARGB_8888;
opt.inInputShareable=true;
opt.inPurgeable=true;
InputStream is = context.getResources().openRawResource(id);
return BitmapFactory.decodeStream(is, null, opt);
}