android中圖片置灰,返回Bitmap

	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);
		} 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章