我正在使用带有rsvg-convert的imagemagick将 svgs 转换为jpegs。除了使用伽玛函数对图像进行颜色校正外,一切正常。它产生的图像与浏览器中的图像非常不同。
这是imagemagick+rsvg-convert编译同一个svg后的输出
看看输出图像中的细节是如何被放大的。这是下载带有图像的实际svg的链接
我在 windows 以及 ubuntu 和 centos 上使用相同的版本对其进行了测试(参见 IM 版本的图片)。
到目前为止,这是我尝试过的几个命令。每个命令输出相同的爆炸图像。
- 转换 test.svg test.jpg
- 将 im 评估函数应用到单个图像 - 转换 green_1186.jpg -evaluate pow 1 -evaluate multiply 1.54 -evaluate add 0 green_1186.c.jpg(产生爆炸图像)
- 对图像应用伽玛 - 转换 green_1186.jpg -gamma 1,1.54,0 green_1186.c.jpg
- 转换 green_1186.jpg -colorspace srgb -evaluate pow 1 -evaluate multiply 1.54 -evaluate add 0 green_1186.c.jpg
- 转换 green_1186.jpg -fx "1.54*(pow(u,1))+0" green_1186.c.jpg
- 转换 green_1186.jpg -auto-gamma -fx "1.54*(pow(u,1))+0" green_1186.c.jpg
我不确定 svg 是否错误,或者我需要重新采样 IM 的值,或者命令是否错误。我非常感谢专家对此事的看法。