我正在尝试使用 Imagemagick 命令创建一个单字母文本标签,给它一个阴影,将它放在一个固定大小的画布区域的左侧,然后将它附加到另一个固定高度但未知宽度的标签。所以,想要的结果是最终透明PNG左侧的一个字母,另一个标签设置在原点右侧约100px,例如这个模型:
我在以下命令中完成了所有这些工作,除了阴影文本标签不在固定大小的框中(应该是 100 像素 x 25 像素)。结果如下:
我认为我需要做的是以某种方式关闭 -trim 选项,但我不知道该怎么做。+trim 不是一个有效的选项,并且 +repage 不会这样做。
convert \
\( -background transparent \
\( -gravity west -fill lavender -font Constantia.ttf \
-pointsize 12 label:'x' -trim \
\( +clone -background black -shadow 100x3+0+0 -channel A -level 0,50% \
+channel \) \
+swap +repage -gravity center -composite \) \
-size 100x25 -gravity west \) \
\( -size x25 -fill black -background transparent -font MyriadPro-Semibold.otf \
-pointsize 15 label:'Long legend for x' -gravity west \) \
+append -strip legend_test.png
(修剪选项需要将高度降低到 25 像素——否则阴影操作会产生太大的垂直延伸。编辑:我想我上面错了——即使没有 -trim 命令中的任何位置,我希望的固定尺寸图像不起作用。)