android透明像素效率,android-非透明像素上的ImageView ColorFilter.夹
我有一个带位图的ImageView.该位图具有Alpha通道和透明像素.
当我尝试将ColorFiter与Mode.OVERLAY(由于蜂窝)一起使用时-提供的颜色覆盖了整个imageview(整个矩形),但是我只想覆盖非透明像素.我如何裁剪imageview的画布以在需要的地方执行过滤器?
更新
我在png中有灰色图片:
当我尝试使用MODE_ATOP时,我得到:
当我使用OVERLAY时,我得到:
而我想得到:
解决方法:
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final ImageView imageView = new ImageView(this);
setContentView(imageView);
final Paint paint = new Paint();
Canvas c;
final Bitmap src = BitmapFactory.decodeResource(getResources(),
android.R.drawable.sym_def_app_icon);
final int overlayColor = Color.RED;
final Bitmap bm1 = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Config.ARGB_8888);
c = new Canvas(bm1);
paint.setColorFilter(new PorterDuffColorFilter(overlayColor, PorterDuff.Mode.OVERLAY));
c.drawBitmap(src, 0, 0, paint);
final Bitmap bm2 = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Config.ARGB_8888);
c = new Canvas(bm2);
paint.setColorFilter(new PorterDuffColorFilter(overlayColor, PorterDuff.Mode.SRC_ATOP));
c.drawBitmap(src, 0, 0, paint);
paint.setColorFilter(null);
paint.setXfermode(new AvoidXfermode(overlayColor, 0, Mode.TARGET));
c.drawBitmap(bm1, 0, 0, paint);
imageView.setImageBitmap(bm2);
}
}
简而言之,我们使用OVERLAY模式绘制源位图和颜色,然后使用辅助位图(使用SRC_ATOP模式合成),使用AvoidXfermode将其组合以不绘制透明像素.
原始图片:
结果:
标签:clip,image,mask,android
来源: https://codeday.me/bug/20191127/2076869.html
android透明像素效率,android-非透明像素上的ImageView ColorFilter.夹相关推荐
- android截图工具效率,Android之高效率截图
本文来自网易云社区 作者:孙圣翔 在一张Android手机上截图有好多办法,为了能够高效率的截图,我几乎把所有的方法都尝试了一般.走了好多路,也遇到了好多的问题. 只是想记录下这其中的不容易. 下面所 ...
- android 截屏 效率,android 截屏以及对该图进行模糊
由于项目中用得比较多的两个功能 截图 和 模糊,我就整理成一个项目来概述. 一 .截图 核心代码 View.setDrawingCacheEnabled(true); View.buildDrawin ...
- 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19698511 . 最近遇到了一系列的屏幕适配问题, 以及 ...
- 【Android 进程保活】提升进程优先级 ( 1 像素 Activity 提高进程优先级 | taskAffinity 亲和性说明 | 运行效果 | 源码资源 )
文章目录 一.1 像素 Activity 提高进程优先级 1.主界面 MainActivity 2.1 像素 Activity 3.广播接收者 4.管理类 5.AndroidManifest.xml ...
- android 代码设置像素,【Android实例】用设计原则来重构1像素保活代码
1 类图 在[FJU项目]1像素进程保活(二)中,涉及到的几个类的类图如下所示(仅供参考): 实线箭头:关联 虚线箭头:依赖 重构前UML类图在上图中,OnePixelManager里面有太多的职责, ...
- android中px单位,android中像素单位dp、px、pt、sp的比较
dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖 ...
- android popupwindow 自定义背景,android – 无法将PopupWindow背景设置为透明
我有以下代码: View child = getLayoutInflater().inflate(R.layout.contextual_menu_lp_activity,null) child.se ...
- android 自定义透明 等待 dialog,Android自定义Dialog内部透明、外部遮罩效果
Android自定义Dialog内部透明.外部遮罩效果 发布时间:2020-09-09 03:01:41 来源:脚本之家 阅读:117 作者:zst1303939801 本文实例为大家分享了Andro ...
- android 透明主题 crash,Android 8.0 的填坑(透明的activity崩溃)
一.透明的activity 不能继续使用 java.lang.RuntimeException:Unable to start activity ComponentInfo{net.maipeijia ...
最新文章
- 图之典—可视化图表的词典
- 《solidity学习笔记》chapter 3-solidity其他知识
- 深度学习推理时融合BN,轻松获得约5%的提速
- 高通8xxx平台双MIC设置
- /lib64/libc.so.6 is not a symbolic link 解决方法
- 如何查看eas源代码_MT5CTP扩展:MT4源代码(EA)适配器来了
- python 字典程序_Python 字典(Dictionary)操作详解
- 人才管理是什么意思_cms系统是什么意思,国内常用的cms内容管理系统有哪些
- QT5.10.0安装教程图文教程以及安装成功QT5.10.0后环境配置图文步骤
- 战神笔记本电脑自带access吗_笔记本电脑卡顿不要急着换,这几个方法,让你的电脑流畅爆表...
- JAVA JDK1.5-1.9新特性
- centos7 卸载软件
- wap页面和html5,WAP网站、3G网站、html5触屏版有什么区别?
- AE(4)实例:更换衣服色彩
- Pulling without specifying how to reconcile divergent branches is hint: discouraged. You can squelch
- 2011年春月游溧阳有感
- C++Primer第五版 第六章 课后习题答案
- 用esp8266做一个网络时钟
- 什么是RESTful风格的API
- 【论文笔记_对比学习_2021】CONTRASTIVE LEARNING WITH HARD NEGATIVE SAMPLES