android - 我想在 ImageView 中添加一个滤色器

标签 android android-imageview porter-duff

我想在 ImageView 中添加一个 ColorFilter

目前我正在使用:

ImageView iv = (ImageView)findViewById(resIdOfImageToFilter);
iv.setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP);

我已经检查了 PotterDuff 中的多种模式,例如 SRC_INSRC 等,但我没有得到任何区别模式...所有模式将整个 ImageView 变成完美的红色。

我需要在现有图像中混合红色,以便图像看起来带有红色色调....

最佳答案

正确的做法是使用 PorterDuff.Mode.LIGHTEN

所以更新后的代码会是这样的:

ImageView iv = (ImageView)findViewById(resIdOfImageToFilter);
iv.setColorFilter(Color.RED, PorterDuff.Mode.LIGHTEN);

关于android - 我想在 ImageView 中添加一个滤色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8193447/

相关文章:

java - 在ImageView上设置onclickListener来查看放大的图像

android - drawBitmap到带有透明位图的 Canvas ,替换原始像素

android - Android 中给定 View 下 View 的 PorterDuff 颜色效果

android - 根据 ListView 的行高动态拉伸(stretch)图像

android - 删除项目后 StaggeredGridLayout 管理器,项目分散

java - 为什么 1dp 在 Android 上同时表示 3px 和 2px?

android - Fragment 上的圆形进度条未显示进度

java - 如何在媒体播放器android ImageView 中实现完成监听器

Android - 如何防止 ColorFilter 与 Porterduff.Mode.Screen 混合 alpha?

android - CrashlyticsCore : Error occurred sending report com. crashlytics.android.core.SessionReport@