【问题标题】:Imagemagick create rectanglesImagemagick 创建矩形
【发布时间】:2026-02-12 23:00:02
【问题描述】:

我正在尝试创建这样的矩形:

我尝试了以下命令:

convert -size 720x567 xc:black -stroke white -strokewidth 5 -draw "rectangle 100,200 300,350 " -draw "rectangle 65,55 45,95 " -draw "rectangle 80,55 90,95 " -draw "rectangle 95,55 105,95 " -draw "rectangle 110,55 120,95 " -draw "rectangle 125,55 135,50 " test.png

它创造了我:

关于如何实现这一点的任何提示

我尝试了 Mark Setchell 的建议:

convert -size 720x567 xc:black -stroke blue -strokewidth 5 \
   -draw "rectangle 50,300 230,450"                        \
   -draw "rectangle 250,300 430,450"                       \
   -draw "rectangle 450,300 630,450" test.png

但我明白了:

【问题讨论】:

  • 这样使用会得到什么。 convert -size 720x567 xc:black test.png
  • @Virb 黑色图像

标签: php image imagemagick imagick


【解决方案1】:

不确定为什么您希望得到带有白色笔划的蓝色框?我想你想要更多这样的东西:

convert -size 720x567 xc:black -stroke blue -strokewidth 5 \
   -draw "rectangle 50,300 230,450"                        \
   -draw "rectangle 250,300 430,450"                       \
   -draw "rectangle 450,300 630,450" test.png

【讨论】:

  • 您好,当我发布您的命令时,我的图片看起来有所不同,我将其发布在我的问题中。
  • 好吧,我可以保证我的图像是我的代码创建的,所以我不得不怀疑你的安装。很抱歉,但我建议您重新安装 - 您在哪个平台上?
  • 我在windows上工作,我会尝试用其他选项,稍后给你答复。到目前为止,我观察到,如果笔画宽度大于 1,图像会倾斜。如果我以 1 的笔画宽度运行命令,它看起来很好,但边框很薄。
  • 我终于做到了,我将我的版本降级到 6.9.3-7 并且它有效,之前我有 7.0.2,你可以添加到你的答案中,这是一个版本问题,所以它变得更清楚其他
【解决方案2】:

对于 ImageMagick 7.0.x.x,您的命令应该以 magick 开头而不是转换。所以它会是:

magick -size 720x567 xc:black -stroke blue -strokewidth 5 \
   -draw "rectangle 50,300 230,450"                        \
   -draw "rectangle 250,300 430,450"                       \
   -draw "rectangle 450,300 630,450" test.png

您不需要使用多个 -draw 命令。您可以在一次绘制中连接所有矩形规范。

magick -size 720x567 xc:black -stroke blue -strokewidth 5 \
   -draw "rectangle 50,300 230,450 \
          rectangle 250,300 430,450 \
          rectangle 450,300 630,450" test2.png

【讨论】: