ImageMagick 拆分透明PNG、合并JPG和Alpha Mask

透明PNG图片占用空间较大,可以拆分为JPG图片和只带Alpha的PNG图片。这里使用ImageMagick进行拆分和合并实验。

ImageMagick版本:6.9.0-Q16

以Bird.png图片进行测试:

拆分透明PNG为JPG和只带Alpha的PNG


1

2


"D:\Program Files\ImageMagick-6.9.0-Q16\convert.exe" Bird.png -background black -alpha remove Bird.jpg

"D:\Program Files\ImageMagick-6.9.0-Q16\convert.exe" Bird.png -alpha extract Bird_alpha_mask.png

生成的Bird.jpg图片:

生成的Bird_alpha_mask.png图片:

合并JPG和只带Alpha的PNG为透明PNG


1


"D:\Program Files\ImageMagick-6.9.0-Q16\convert.exe" Bird.jpg Bird_alpha_mask.png -compose copyopacity -composite Bird_with_alpha.png

生成的Bird_with_alpha.png图片:

批处理:

拆分透明PNG为JPG和只带Alpha的PNG


1

2

3

4

5

6

7


@echo off

set exevar="D:\Program Files\ImageMagick-6.9.0-Q16\convert.exe"

for /f "usebackq tokens=*" %%d in (`dir /s /b *.png`) do (

%exevar% "%%d" -background black -alpha remove "%%~dpnd.jpg"

%exevar% "%%d" -alpha extract "%%~dpnd_alpha_mask.png"

)

合并JPG和只带Alpha的PNG为透明PNG


1

2

3

4

5

6


@echo off

set exevar="D:\Program Files\ImageMagick-6.9.0-Q16\convert.exe"

for /f "usebackq tokens=*" %%d in (`dir /s /b *.jpg`) do (

%exevar% "%%d" "%%~dpnd_alpha_mask.png" -compose copyopacity -composite "%%~dpnd_with_alpha.png"

)


参考资料:

1. Transparent JPEG Images on iOS https://github.com/hollance/TransparentJPEG

2. cocos2dx中使用JPG图和只带Alpha的PNG图合成渲染 http://www.cnblogs.com/elang/p/4104452.html

3. Add an existing alpha data from image to another image http://www.wizards-toolkit.org/discourse-server/viewtopic.php?t=17529

4. Converting PNG to JPEG - black background http://www.imagemagick.org/discourse-server/viewtopic.php?t=24048

时间: 2024-08-10 15:00:26

ImageMagick 拆分透明PNG、合并JPG和Alpha Mask的相关文章

CALayer alpha mask not working

2 down vote favorite 3 I'm trying to create a simple example of drawing an image to a layer, and then setting that layer's alpha mask. I added the code below to my sample app's viewDidLoad. without setting the mask, i can see the image of the leaf. a

在论坛中出现的比较难的sql问题:22(字符串拆分、字符串合并、非连续数字的间隔范围、随机返回字符串)

在论坛中看到一个帖子,帖子中有一些sql方面的面试题,我觉得这些面试题很有代表性. 原帖的连接为:http://bbs.csdn.net/topics/390884161?page=1#post-398177057 下面是我的解法,供大家参考: 1.分拆字符串 create table test1 (number varchar(100)) insert into test1 values ('1,2,3,4,5,6') 希望结果: number ------ 1 2 3 4 5 6 (6 行受

Oracle 字段拆分替换在合并成一条

看了网上很多Oracle字段拆分的实例,但是都未能完全满足要求,或许是我水平不够未能很好的理解,如果有大神懂得并且愿意告知我的,可以私信我,在这里真诚的感谢! 1. 首先建立表并插入测试数据 drop table col_split; create table col_split ( var_id varchar2(6), var_value varchar2(80) ); 1--insert into col_split values('101001','spt001,spt2,spt3,sp

iOS 合并带有透明通道的视频-

视频的合成,透明通道是大家所熟知的 透明通道是一个致力于公益活动全程透明化的组织. 在图形图像学中,透明通道也称Alpha通道,代表数字图像中像素点的透明信息.白色的Alpha像素用以定义不透明的彩色像素,而黑色的Alpha定以透明像素,黑白之间的灰阶则是彩色图片中的半透明部分.-----摘自百度百科 所以在合并雪花,灯光,爆破... 这里就需要有透明通道的视频. 这里我用的是GPUImage 这个工具,可以讲雪花无缝隙的结合起来,说到这里,大家最好会使用一点ps,在图片滤镜处理的时候,可以通过

带alpha透明通道视频—网页播放带alpha通道视频叠加合成方案

带alpha通道的图片有GIF和PNG,但是GIF只有8位,失真严重,边缘锯齿非常明显. 做动画,其它考虑PNG24,用css3 animations播放.但是,每个都配置太麻烦.综合考虑还是做透明背景的及带alpha通道的视频做背景做好. 带alpha通道可以跟背景融合的视频,常用有三种格式 微软 AVI,微软压缩比太差,文件太大. 苹果mov,在windows平台,要装相关插件. 谷歌webM,只要与新版chrome即支持. webM 与webP是一个爹养的,在网络应用绝佳--高压缩比高保真

mx51 IPU 透明处理

Freescale MX51平台的透明处理根据bpp(bits_per_pixel)不同,处理方式有所不同. 透明处理涉及到两个图层的合并,这个合并操作是MX51 IPU的DP(Display process)模块来进行的. 下图为mx51 datasheet中的DP 微观架构图 上图的中Combining Unit就是用来实现两个图层的合并,DP有两个input FIFOs用来传输full 图层和partial图层的数据.在传入Combining Unit之前,还会做CSC(Color spa

图片透明处理的方法

版权声明:本文为博主原创文章,未经博主允许不得转载. 图片的透明性,由其属性'Alpha' 决定,所以改变图像的'Alpha'值则改变透明度Alpha为与图像分辨率相同大小的矩阵,0为透明,1为不透明.保存图片时,如要保存为透明图片,须保存为png格式,保存代码为:imwrite(I,'图像名.png','Alpha',alpha) 举例:一张字图片,背景为白色,字为黑色,现在将其处理后,输出为字为红色,背景为透明的图片.MATLAB实现的代码如下:%字变为红色,背景变为白色,保存背景为透明的图

Android通过Alpha实现渐变效果的几个方法

原理 : 通过改变控制透明度的Alpha值来实现渐变效果 方法一 : 使用XML 步骤一 : 首先,我们要在res文件夹下的anim文件夹里创建一个.xml文件(这里我创建的是alpha.xml) 设置开始时透明度为0.0(透明):android:fromAlpha="0.0" 设置结束时透明度1.0(不透明):android:toAlpha="1.0" <alpha xmlns:android="http://schemas.android.com

专题:DUILIB Win32 透明效果

Win32 透明效果相关基础知识 Layered Windows 分层窗口.这是Windows2000开始引入的概念,重新定义了窗口的Hit Testing方法,以前都是把窗口按rectangle的方式裁剪,而把窗口加上WS_EX_LAYERED的Style后就可以根据窗口的形状和像素 值进行Hit Testing,这样我们的不规则窗口就变成了真正意义上的独立窗口,而不是传统的被一个不可见的矩形窗口所包含. 分层窗口重绘方式.透明效果产生 创建不规则窗口的三种方式 1. 通过区域相关API设置窗