在Imagemagick中创建空白图像

52

如何通过命令行在Imagemagick中创建一个空白的新图像?

使用-background不起作用:

$ convert -size 800x800 -background white x.png
convert: no images defined `x.png' @ error/convert.c/ConvertImageCommand/3257.
2个回答

82

白色背景

convert -size 800x800 xc:white white.png

xc: 原本是“X Constant Image”的缩写,但现在只是一个 canvas: 的简写。这意味着您也可以使用:

convert -size 800x800 canvas:white white.png

如果没有提供颜色,"白色"是默认值,因此您也可以使用:

convert -size 800x800 xc: white.png
convert -size 800x800 canvas: white.png

透明背景

如果所说的“空白”指的是“透明”,那么只需使用该词作为颜色:

convert -size 800x800 xc:transparent transparent.png

本答案由ImageMagick v6示例如何创建新图像?实现。


9
实际上,您可以通过在画布中指定大小来更加简单地完成它... convert xc:[800x800\!] white.pngconvert xc:lime[800x800\!] lime.png. - Mark Setchell
8
@MarkSetchell,从人类用户的角度来看,我认为这并不简单。我经常使用-size。同时学习canvas:green是这两个选项中新增信息最少的选择。 - Jan Kyu Peblik
3
我怎样才能做到不给PNG分配灰度色彩配置呢? - theonlygusti
theonlygusti,我认为@cjonasw在这个页面上已经回答了这个问题这里 - dani 'SO learn value newbies'

9

如需在画布上叠加彩色图像,请提供PNG24,PNG8或PNG32前缀。否则,它会创建灰色色彩空间。我使用了32,因为我需要“每个像素的不同透明度”(像素艺术)。

convert -size 800x800 canvas:transparent PNG32:canvas.png

有关PNG类型的更多信息,请参见此链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接