Formatting 为什么“caption:”包含在呈现的字符串中,而不是触发类似于标题的行为?

Formatting 为什么“caption:”包含在呈现的字符串中,而不是触发类似于标题的行为?,formatting,imagemagick,imagemagick-convert,caption,Formatting,Imagemagick,Imagemagick Convert,Caption,我正在Kindle封面上填充一些文本。目前,convert似乎正在使用标题:作为我呈现的文本的开头。本节内容如下: convert kindle-cover.jpg -font "Georgia" -pointsize 150 -size 320x -gravity South -annotate +0+100 caption:'C.J.S. Hayward' workbench.jpg 根据需要,文本居中于图像底部附近,字体大小也不完美。然而,我尝试了几个调用,比如caption:,-cap

我正在Kindle封面上填充一些文本。目前,convert似乎正在使用标题:作为我呈现的文本的开头。本节内容如下:

convert kindle-cover.jpg -font "Georgia" -pointsize 150 -size 320x -gravity South -annotate +0+100 caption:'C.J.S. Hayward' workbench.jpg
根据需要,文本居中于图像底部附近,字体大小也不完美。然而,我尝试了几个调用,比如caption:,-caption,等等,我似乎没有得到类似于caption的行为

虽然与封面上的作者姓名无关,但我希望允许标题显示优雅的标题行为,包括软包装和动态调整大小(如果用户输入的标题需要包装)

我可以/应该做些什么来获得标题而不是标签行为

谢谢

-更新-@Bonzo建议我提供ImageMagick版本。版本为:

Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-07-31 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib
机器正在运行Linux Mint的当前版本


在ImageMagick的同一命令行中,不应同时使用-annotate和caption:。尝试使用其中一种。例如,这里有3种不同的方法:-annnotate、label:和caption:使用较小的字体大小-直接在图像上添加注释。标签:和标题:创建各自独立的图像,这些图像需要合成到原始图像上

convert kindle-cover.jpg -font "Georgia" -pointsize 72 -gravity south -annotate +0+100 'C.J.S. Hayward' workbench.jpg

convert kindle-cover.jpg \( -size 320x -background none -font "Georgia" -gravity south label:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg

convert kindle-cover.jpg \( -size 320x -pointsize 72 -background none -font "Georgia" -gravity south caption:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg
编辑:后一个将换行,但前两个不换行。因此,您需要将-size 320x设置为所需的宽度。正如bonzo所说,在IM6中,您需要测试输入图像的大小,并指定要使用的图像的百分比。例如,您必须在IM6中以这种方式运行它。假设您希望文本宽度为图像宽度的1/3。在unix语法中,您可以执行以下操作:

ww=`convert kindle-cover.jpg -format "%[fx:w/3]" info:`

convert kindle-cover.jpg \( -size ${ww}x -pointsize 72 -background none -font "Georgia" -gravity south caption:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg
在IM 7中,你可以

magick kindle-cover.jpg \( -size "%[fx:w/3]x" -pointsize 72 -background none -font "Georgia" -gravity south caption:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg

你应该阅读标签说明。我认为你需要制作一张带有标题的图片,然后将该图片添加到你的封面上。如果你想确认你的即时通讯版本,我相信有人能帮你解决这个问题。@EJoshuaS我已经阅读了大部分,直到实验部分。如果您只是想告诉我阅读文档,如果您能提供一个链接,我将不胜感激。我刚刚运行了一个convert-help,看到了另一种方法,尝试了一下,发现它也不起作用。你没有领会我的意思,[convert]标记正在被烧掉,不应该在这里使用。@EJoshuaS,很抱歉我没有领会你的意思。“tag”一词在很多场合都有使用,在接触到许多特色软件时,我在脑海中浏览了一些与ImageMagick相关的“tag”定义。我不知道您的意思是“SO tag”,而不是向我提供有关ImageMagick convert使用的建议。要在V6中动态获取维度,您需要使用类似于格式的内容并将其保存到变量中。而在V7中,您可以在一行中完成所有操作。