将图像设置在png透明度内

时间:2019-05-28 16:50:28

标签: imagemagick

正如标题所示,我的PNG图片具有一定的透明度。我想用第二张图片(目前是JPEG,但将其转换为PNG并不是问题)来填充透明度。

我发现在Internet上搜索的每个帖子都涉及“逆向”问题(从具有背景的图像到具有透明性的图像),因此显然这对我的情况没有帮助;例如,我尝试过

convert -flatten myimg.png myimg.png

(摘自here)和

convert myimg1.png  -transparent white myimg.png

(摘自here)。

1 个答案:

答案 0 :(得分:0)

在ImageMagick 6中,如果两个图像的大小相同,则可以将透明图像平放在背景图像上。

背景(lena.jpg):

enter image description here

透明(logo_crop_trans.png):

enter image description here

convert lena.jpg logo_crop_trans.png -flatten lena_logo.jpg


enter image description here

如果使用ImageMagick 7,则将convert转换为magick。

如果要对透明图像进行抗锯齿处理,以免出现锯齿,请使用一些模糊处理使轮廓平滑(Unix语法):

convert lena.jpg \( logo_crop_trans.png -channel a -blur 0x1 -level 50x100% +channel \) -compose over -composite lena_logo2.jpg


enter image description here

如果在Windows上,请删除括号前的\。