ImageMagick - 设置透明带 AlphaChannel 的 png 图片的透明度
学习和使用ImageMagick也有几年时间了,其实对 ImageMagick 的了解还仅仅是皮毛吧。
最近在写代码的时候,遇到一个调整透明png图片透明度的问题:
当1张png图片,有些区域是透明的,我平时调整图片透明度使用的是:MagickSetImageOpacity(),可对透明背景的png,怎么调也没效果。
后来实在没办法,我找了两个替换方案:
方案1. 删除alpha通道: MagickSetImageAlphaChannel(mw_current, RemoveAlphaChannel); 然后再 MagickSetImageOpacity()
方案2. 给当前的png透明图片加一个白色背景,然后再 MagickSetImageOpacity()
可是很明显,这两个方案处理结果就是,虽然png透明度能调整了,但是生成的图片背景不透明了。
我今天用ps尝试了一下,可以正常的调整一个透明的png图片的透明度。
我想,ps能做到, imagemagick也能办到,继续网上搜索,终于找到一个函数: MagickEvaluateImage(mw_current, MultiplyEvaluateOperator, opacity);
根据网上的提示,在处理 png 透明图片的透明度时,必须使用 MagickEvaluateImage,用 MagickSetImageOpacity 没用!
不过,MagickEvaluateImage 第2个参数有很多选择,我花了几分钟时间才找到合适的参数:MultiplyEvaluateOperator,这个就是用来调整透明度的。
到此为止,终于找到答案。
ImageMagick - 设置透明带 AlphaChannel 的 png 图片的透明度的更多相关文章
- 使用IMAGEMAGICK的CONVERT工具批量转换图片格式
使用IMAGEMAGICK的CONVERT工具批量转换图片格式 http://www.qiansw.com/linux-imagemagick-convert-img.html Home > 文 ...
- Pyqt 设置 背景颜色和背景图片、 QPalette 调色板 与QPainter 画板区别 、 不规则图片
设置 背景颜色和背景图片 首先设置autoFillBackground属性为真然后定义一个QPalette对象设置QPalette对象的背景属性(颜色或图片)最后设置QWidget对象的Palette ...
- 设置TabBarItem选中时的图片及文字颜色
TabBarItem选中时,默认文字和图片都变为蓝色.使用以下代码可以进行修改. MainViewController *mainVC = [[MainViewController alloc] in ...
- 设置一个按钮为一个图片,不要border
//设置一个按钮为一个图片,不要border ImageIcon searchIcon = ImageToolkit.loadImageIcon(/search.png"); ImageIc ...
- 通过seekBar改变图片的透明度
作者:堕落的天使 对应的图片 activity_main.xml(代码) <RelativeLayout xmlns:android="http://schemas.android.c ...
- WPF编程,通过DoubleAnimation控制图片的透明度,将重叠的图片依次显示。
原文:WPF编程,通过DoubleAnimation控制图片的透明度,将重叠的图片依次显示. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307 ...
- Android StatusBarUtil:设置Android系统下方虚拟键键盘透明度
Android StatusBarUtil:设置Android系统下方虚拟键键盘透明度 Android StatusBarUtil是github上的一个开源项目,主页:https://githu ...
- 设置 TabBarItem 选中时的图片及文字颜色
TabBarController 是在 ios 开发过程中使用较为频繁的一个 Controller,但是在使用过程中经常会遇到一些问题,例如本文所要解决的,如何修改 TabBar 选中时文字及图片的颜 ...
- 设置一个View的背景图片的集中方法
控制器view的背景图片的方法, 四种: 1.直接在控制器view上添加一个imageView大小设置的和view一样 UIImageView *beijingimage = [UIImageView ...
随机推荐
- mysql数据库的备份和还原的总结
mysql数据库的备份和还原的总结 (来自一运维同事的总结) 1. 备份方式: 热备:数据库在线进行备份,不影响读和写的在线备份方式! 温备:数据库在线进行备份,对表备份时先锁定写操作,仅可以执行读操 ...
- 30行Python代码实现人脸检测
参考OpenCV自带的例子,30行Python代码实现人脸检测,不得不说,Python这个语言的优势太明显了,几乎把所有复杂的细节都屏蔽了,虽然效率较差,不过在调用OpenCV的模块时,因为模块都是C ...
- 莫烦scikit-learn学习自修第二天【算法地图】
1. 算法地图
- Flask从入门到精通
1. flask的下载和安装 在windows下安装flask flask依赖于两个库, 即werkzeug 和jinja2 , werkzeug负责服务器的部署, jinja2负责模板引擎,管理安装 ...
- PLSQL 错误问题:ora-12154:TNS:could not resolve the connect identifier
错误问题: ORA-12154: TNS:could not resolve the connect identifier specified 即无法解析指定的连接,这说明缺少了一个环境变量,TNS_ ...
- 最简单的Spring Security配置示例
代码结构: pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...
- Zookeeper注册中心底层实现小记
内容摘自微信公众号,程序员小灰.推荐-ing Zookeeper的数据模型 Zookeeper的数据模型是什么样子呢?它很像数据结构当中的树,也很像文件系统的目录. 树是由节点所组成,Zookeepe ...
- 【UOJ348】【WC2018】州区划分 状压DP FWT
题目大意 给定一个\(n\)个点的无向图,对于每种 \(n\) 个点的划分\(\{S_1,S_2,\ldots,S_k\}\),定义它是合法的,当且仅当每个点都在其中的一个集合中且对于任何的\(i\i ...
- JS 实现DIV 滚动至顶部后固定
JS 实现DIV 滚动至顶部后固定 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" ...
- 运行os.fork()报AttributeError: module 'os' has no attribute 'fork'
现象 报错代码 def handle(s, c, db): pid = os.fork() if pid == 0: s.close() do_child(c, db) sys.exit() else ...