ImageMagick 示例 --
测试小错误

索引
ImageMagick 示例前言和索引
已知和已修复的错误索引
这些示例是快速测试,几乎没有解释,用于检查 IM 的最新版本中是否修复了特定的已知但简单的错误。因此,每当下载 IM 的新版本时,此页面都会自动重新生成,以测试该错误的当前状态。


小错误和问题

这些是已知的错误,可能需要一些时间才能找出并修复。


复制黑色用于 CMYK 合成

将玫瑰图像分离成其 CMYK 通道。

  magick rose: -colorspace CMYK -separate separate_CMYK_%d.gif
[IM Output] ==> [IM Output] [IM Output] [IM Output] [IM Output]

使用 combine 重新创建原始图像可以正常工作。

  magick separate_CMYK_?.gif  -set colorspace CMYK  -combine  \
          -colorspace RGB  rose_CMYK_combined.gif
[IM Output]

现在让我们尝试使用通道复制合成方法重新组合它们。

  magick separate_CMYK_0.gif -colorspace CMYK \
          separate_CMYK_0.gif -compose CopyRed   -composite \
          separate_CMYK_1.gif -compose CopyGreen -composite \
          separate_CMYK_2.gif -compose CopyBlue  -composite \
          separate_CMYK_3.gif -compose CopyBlack -composite \
          -colorspace RGB   rose_CMYK_combined_alt.gif
[IM Output]

这显然不是原始的玫瑰图像。

检查复制后的通道内容显示黑色通道复制完全崩溃。

  magick separate_CMYK_0.gif -colorspace CMYK \
          separate_CMYK_0.gif -compose CopyRed   -composite \
          separate_CMYK_1.gif -compose CopyGreen -composite \
          separate_CMYK_2.gif -compose CopyBlue  -composite \
          separate_CMYK_3.gif -compose CopyBlack -composite \
          -separate separate_again_%d.gif
[IM Output] ==> [IM Output] [IM Output] [IM Output] [IM Output]


半透明的圆形端帽

具有端帽的半透明笔触会在不应该出现的地方产生额外的叠加。

    magick -size 100x60 xc:skyblue \
            -fill white -stroke '#0004' -strokewidth 16 \
            -draw "stroke-linecap round       path 'M 60,30 L -10,30'" \
            draw_endcap.gif
[IM Output]

中间的线是这条线的白色填充。

我没有找到其他端帽或圆形线连接的其他问题。


弧线和线连接

“arc”或“ellipse”似乎存在一个错误,即如果启用“stroke-linejoin round”,它将绘制“直弦”。

  magick -size 100x60 xc:skyblue -fill none -stroke white -strokewidth 5 \
          -draw "stroke-linejoin round ellipse 50,0 45,45 60,160" \
          draw_linejoin.png
[IM Output]

如果没有给出 stroke-linejoin,则会绘制封闭弦(正确)。

请注意,这是我犯的错误,当时我打算使用“stroke-linecap”,但无论如何都不应该发生这种情况。

这可能与下一个错误有关…


笔划为 3 或更大的折线出错

笔划为 2 时,这很好。

  magick -size 80x60 xc:white -fill white -colorspace RGB \
          -draw "stroke black stroke-width 2 stroke-linejoin round \
                 polyline 14,53 30,5 71,14 51,41" \
          -colorspace sRGB draw_line2.png
[IM Output]

但笔划为 3 时,它出错。

  magick -size 80x60 xc:white -fill white -colorspace RGB \
          -draw "stroke black stroke-width 3 stroke-linejoin round \
                 polyline 14,53 30,5 71,14 51,41" \
          -colorspace sRGB draw_line3.png
[IM Output]

但如果没有 stroke-linejoin round,它又能正常工作了。

  magick -size 80x60 xc:white -fill white -colorspace RGB \
          -draw "stroke black stroke-width 3 \
                 polyline 14,53 30,5 71,14 51,41" \
          -colorspace sRGB draw_line3_2.png
[IM Output]

更新:据称在 IM v6.9.6-9 中已修复


MVG:对角线太粗了!

倾斜的对角线看起来具有合理的粗细
特别是如果您使用线性色彩空间进行绘制…

  magick -size 100x60 xc:skyblue -colorspace RGB -fill white -stroke black \
          -draw "path 'M 10,10 L 90,10 L 90,50 Z'" \
          -colorspace sRGB draw_path_line_closed.gif
[IM Output]

但是,当绘制为虚线时,线条看起来要粗得多。

  magick -size 100x60 xc:skyblue -colorspace RGB -fill white -stroke black \
          -draw "stroke-dasharray 3 3 33 3 3 3 \
                 path 'M 10,10 L 90,10 L 90,50 Z'" \
          -colorspace sRGB draw_path_dash_closed.gif
[IM Output]


创建:2005 年 8 月 18 日
更新:2016 年 12 月 16 日
作者:Anthony Thyssen,<Anthony.Thyssen@gmail.com>
示例生成于:[版本图像]
URL:https://imagemagick.org.cn/Usage/bugs/testing/