我有两个从属的imagemagick命令,它们各自可以很好地工作,但是尝试了所有可以想象的调用后,我无法将它们组合为一个命令。如果有人能指出我正确的方向,我将非常感激。
我尝试了多种方法,以在线资源为指导将两者结合起来,但是按照惯例,我找不到适合我需要的确切示例。我正在IM6 *上运行(我的服务器也在IM6 *上)
第一个命令获取图像的中心裁剪缩略图,然后对其进行圆形图像。
convert -define jpeg:size=200x200 face.png \
-thumbnail 31x31^ -gravity center -extent 31x31 \
\( +clone -threshold -1 -negate -fill white -draw 'circle 15,12 12,0' \) \
-alpha off -compose copy_opacity -composite cut_to_fit_circ.png
第二个命令获取上面的输出并将其“拉平”到另一张图像上
convert marker.svg -page -1+2 cut_to_fit_circ.png \
-flatten facemarker.jpg
我应该最终得到一个svg图像,并将圆形图像放在marker.svg上
答案 0 :(得分:0)
尝试使用ImageMagick 6。
convert marker.svg -page -1+2 \
\( -define jpeg:size=200x200 face.png \
-thumbnail 31x31^ -gravity center -extent 31x31 \
\( +clone -threshold -1 -negate -fill white -draw 'circle 15,12 12,0' \) \
-alpha off -compose copy_opacity -composite \) \
-flatten facemarker.jpg
如果那不起作用,则将链接发布到您的face.png和marker.svg,这样我就可以看到这些文件并使用它们进行测试。
还有-page为什么只有几个像素?
更正:
问题在于-compose copy_opacity流到了-flatten。因此,您必须在展平前重置为-compose。更正的命令将是。
convert -background none marker.svg \
\( -page +0+0 -define jpeg:size=200x200 face.png \
-thumbnail 31x31^ -gravity center -extent 31x31 \
\( +clone -threshold -1 -negate -fill white -draw 'circle 15,12 12,0' \) \
-alpha off -compose copy_opacity -composite \) \
-compose over -flatten facemarker.png
根据需要调整-page偏移量
答案 1 :(得分:0)
弄清楚了。从展平转换为合成,只需找到合适的位置放置几何设置。没有几何图形,圆形图像将放置在marker.png(svg)的中心,因此我必须应用其他设置才能使其正确定位:
convert marker.png \( -define jpeg:size=200x200 face.png \
-thumbnail 31x31^ -gravity center -extent 31x31 \( +clone \
-threshold -1 -negate -fill white -draw 'circle 15,12 12,0' \) \
-alpha off -compose copy_opacity -composite \) -geometry +0-7 \
-compose over -composite facemarker.png
或多或少地在push pins on a map forum question上找到了解决方案!