将可变宽度的标签附加到固定尺寸的
问题描述:
我试图使用Imagemagick命令创建单个字母的文本标签,并将其放置在固定尺寸画布区域的左侧,然后将它添加到另一个固定高度但宽度未知的标签。因此,期望的结果是最终透明PNG左侧的单个字母,另一标签在原点右侧设置大约100px,例如,该样机:将可变宽度的标签附加到固定尺寸的
我都在下面的命令这个工作的,除了是阴影文本标签不固定大小的盒子(应该是100像素x 25px的)。这里的结果:
我认为是什么,我需要做的就是以某种方式关闭-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
(装饰选项需要得到高度降至25px的 - 阴影操作,否则产生过大的垂直延伸编辑:我想我错了上面 - 甚至W/O型的 - 。修剪任何地方的命令,我希望的固定大小的图像不会工作。)
答
嗯,看起来像没有太多的社区ImageMagick离开这里。我发布到ImageMagick phpBB板,并能够将答案放在一起。简而言之:
- -trim选项不是影响每个图像被调用后的选项。相反,它本质上是一个立即执行的命令。
- -extent选项可用于将图像增大或减小至所需的大小。显然,我在原始代码中使用的-size命令只能用于设置图像的初始大小,而不能更改已存在图像的大小。
这里是最后的工作命令:
convert \
\(-background transparent -extent 100x25 -gravity west \
\(-fill lavender -font Constantia.ttf \
-pointsize 12 label:'x' -trim -extent 100x25 -gravity west \
\(+clone -background black -shadow 100x3+0+0 -channel A -level 0,50% \
+channel \) \
+swap +repage -gravity center -composite \) \
-background transparent -extent x25 \) \
\(-size x25 -fill black -background transparent -font MyriadPro- Semibold.otf \
-pointsize 15 label:'Long legend for x' -gravity west \) \
+append -strip legend_test.png