ImageMagick命令行字符限制

时间:2016-11-23 04:02:47

标签: command-line imagemagick histogram

我在Windows上使用ImageMagick的命令行定义将数百个彩色矩形添加到空白图像(直方图)。命令的长度超过了8192个字符的限制。我有数百个这样的命令:

-fill rgb(188,161,161) -draw "rectangle 1,106 4,19"

ImageMagick文档说几个命令可以放在一个文件中,然后读取。在测试时,这些必须是相同的命令类型,即我要为draw命令创建一个文件,为fill命令创建一个文件。但是,着色将不起作用,因为正确的fill命令未链接到相关的draw命令。

magick -size 1920x108 xc:white -fill @fill.txt -draw @draw.txt hist.png

有人知道解决方法或任何其他选项吗?我认为在Windows批处理文件中使用命令可能有效,但这似乎也受到8192个字符的限制。

2 个答案:

答案 0 :(得分:1)

您可能会发现 Magick矢量图形(MVG)更适合您的需求:

convert -size 1920x1080 xc:gray90 -draw @draw.txt result.png

enter image description here

文件draw.txt包含:

fill cyan    rectangle 10,10 1800,400
fill magenta rectangle 10,450 1750,800
fill yellow  rectangle 10,850 1850,1000

Anthony Thyssen here提供了一些很好的例子,并提供了可用的绘图原语here的说明。

答案 1 :(得分:0)

以下摘自MS link

  

在运行Microsoft Windows XP或更高版本的计算机上,最大长度   您可以在命令提示符处使用的字符串是8191   字符。在运行Microsoft Windows 2000或Windows NT的计算机上   4.0,您可以在命令提示符处使用的字符串的最大长度为2047个字符。

所以基本上,它是命令行的限制,而不是imagemagick。您是否有可能将任务分成两部分,然后将这两个步骤生成的两个图像合并到一个结果图像上?