Android 在图像视图上应用ColorFilter的问题
我正在开发图像过滤器应用程序,面临一个问题。 所以我想知道如何在图像视图上应用颜色、饱和度和亮度? (请考虑我的图像视图只有一个平面颜色) 颜色:Android 在图像视图上应用ColorFilter的问题,android,imageview,colorfilter,Android,Imageview,Colorfilter,我正在开发图像过滤器应用程序,面临一个问题。 所以我想知道如何在图像视图上应用颜色、饱和度和亮度? (请考虑我的图像视图只有一个平面颜色) 颜色: public void setImageColor(int color) { image.setColorFilter(color); } 对于饱和度: public void setSaturationBitmap(int saturation) { image.setDrawingCacheEnabl
public void setImageColor(int color) {
image.setColorFilter(color);
}
对于饱和度:
public void setSaturationBitmap(int saturation) {
image.setDrawingCacheEnabled(true);
image.buildDrawingCache();
Bitmap bm = image.getDrawingCache();
Bitmap alteredBitmap = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(), bm.getConfig());
Canvas canvas = new Canvas(alteredBitmap);
Paint paint = new Paint();
paint.reset();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(satur);
paint.setColorFilter(image.getColorFilter());
paint.setColorFilter(new ColorMatrixColorFilter(cm));
Matrix matrix = new Matrix();
canvas.drawBitmap(bm, matrix, paint);
image.setImageBitmap(alteredBitmap);}
谢谢。您可以编辑位图并在图像视图中使用它: 请在SOF上查看此帖子:
代码是必需的。共享它。您可能希望扩展ImageView,重写
onDraw
方法,并在调用super.onDraw()
后应用过滤器final int-semipransparentgrey=Color.argb(155、185、185、185);setColorFilter(半透明grey,PorterDuff.Mode.SRC_);你可以看到我编辑的问题@PiyushIn我的情况下饱和度正常工作,但当我改变颜色后,我无法应用饱和度@VladyslavMatviienkoanswer,并链接到另一个答案,这永远不会好。要么用评论,要么写一个完整的答案。