使用ImageMagick彩色的透明图像

Werzi2001

我想使用以下命令行扩展带有(例如)红色边框的图像:

convert input.png -gravity center -background red -extent 1000x1000 output.png

只要input.png不包含任何透明区域,此方法就起作用。

如果这样做,这些也将由背景色替换。我已经阅读了文档,这是预期的行为,解决方案是删除背景色(我不能像我想要的那样有彩色边框)或使用alpha合成器(我无法弄清楚)找出正确的)。

如何使用颜色扩展图像,但仅将颜色应用到扩展区域而不是原始图像本身?

编辑:根据对撰写参数的描述,我认为它应该与

-compose src-in

但事实并非如此。

马克·谢切尔

我可以为您提供所需的东西,但是我怀疑该方法有点笨拙,因此我将继续思考并提醒我们的常驻专家@KurtPfeifle,他对ImageMagick都有所了解。

同时,我的想法是创建红色的扩展背景,在原始背景大小的透明孔上打一个孔,然后覆盖原始图像,如下所示:

convert -size 1000x1000 xc:red                                                      \
        -size 800x800   xc:none -alpha set -gravity center -compose copy -composite \
        image.png -composite result.png

第一行创建红色背景,第二行打一个透明孔,其大小与我的原始图像(800x800)大小相同,第三行将原始图像复制到该透明孔上。

如果使用bash,则可以从原始图像中获取几何图形,如下所示:

#!/bin/bash
geom=$(convert image.png -format "%wx%h" info:)
convert -size 1000x1000 xc:red                                                  \
        -size $geom xc:none -alpha set -gravity center -compose copy -composite \
        image.png -composite result.png

所以,如果我从这个开始

在此处输入图片说明

我结束了

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

透明图像看彩色背景

来自分类Dev

使用imagick PHP绘制透明图像的轮廓

来自分类Dev

如何在ImageList中使用半透明图像

来自分类Dev

使用Magick.NET调整透明图像的大小

来自分类Dev

如何在ImageList中使用半透明图像

来自分类Dev

如何在WinCe 5.0中使用透明图像?

来自分类Dev

如何使用BufferedImage在java中绘制透明图像?

来自分类Dev

Java SplashScreen透明图像

来自分类Dev

显示透明图像的形状

来自分类Dev

Javascript,显示透明图像。

来自分类Dev

Python 透明图像遮罩

来自分类Dev

如何在ImageMagick中为橡皮戳创建透明图像

来自分类Dev

在透明图像上单击div

来自分类Dev

在WPF或Silverlight中单击透明图像

来自分类Dev

JavaFX LineChart-保存透明图像

来自分类Dev

在Qt中更改透明图像的颜色

来自分类Dev

在轴上显示透明图像(MATLAB)

来自分类Dev

透明图像上的相交检测

来自分类Dev

VB.NET透明图像边框

来自分类Dev

Photoshop像透明图像上的背景

来自分类Dev

Android在透明图像中填充颜色

来自分类Dev

用jQuery围绕透明图像发光

来自分类Dev

混合后仍需要透明图像

来自分类Dev

在 PHP 上合并透明图像

来自分类Dev

ImageMagick / Imagick:将具有Alpha通道的PNG转换为2色图像(彩色,透明)

来自分类Dev

过使用SWT图形另一图像绘制动态透明图像

来自分类Dev

使用CSS规则将透明图像放置在另一个图像上的问题

来自分类Dev

如何使用CSS在悬停时创建此透明图像叠加层?

来自分类Dev

如何使用PIL将透明图像的背景设置为白色?