在 Imagemagick 中创建空白图像

回答 2 浏览 3.5万 2016-09-15

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

使用-background不起作用:

$ convert -size 800x800 -background white x.png
convert: no images defined `x.png' @ error/convert.c/ConvertImageCommand/3257.
qubodup 提问于2016-09-15
2 个回答
#1楼
得票数 79

白色背景

convert -size 800x800 xc:white white.png

xc:过去表示“X常量图像”,但现在只是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 Examples如何创建新图像?

qubodup 提问于2016-09-15
实际上,您可以通过使用画布指定尺寸来更简单地做到这一点...convert xc:[800x800\!] white.pngconvert xc:lime[800x800\!] lime.pngMark Setchell 2016-09-15
@MarkSetcell,尽管从人类最终用户的角度来看,我想说这并不简单。我一直用-size。另外学习canvas:green是这两个选项之间新信息量最少的。Jan Kyu Peblik 2018-10-02
我如何在不为 PNG 分配灰度颜色配置文件的情况下做到这一点?theonlygusti 2020-12-16
theonlygusti,我认为 @cjonasw 已经在这个页面的这里回答了这个问题。dani 'SO learn value newbies' 2023-01-16
#2楼
得票数 8

如果计划使用此画布对彩色图像进行分层,则需要提供 PNG24、PNG8 或 PNG32 前缀。如果没有它,它会创建一个灰色空间。我使用了 32,因为我需要“每个像素具有不同程度的透明度”(像素艺术)

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

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

cjonasw 提问于2021-05-06
cjonasw 修改于2021-05-06
标签