2017-10-15 98 views
0

我正在填写Kindle封面上的一些文本。目前convert似乎将caption:作为我已呈现的文本的开始。本调用读取:为什么“caption:”被包含在渲染的字符串中而不是触发类似字幕的行为?

convert kindle-cover.jpg -font "Georgia" -pointsize 150 -size 320x -gravity South -annotate +0+100 caption:'C.J.S. Hayward' workbench.jpg 

的内容是,根据需要,中心附近的图像的底部,以及字体的大小是不完美的,无论是。但是,我已经尝试了几个调用,如caption:,-caption等,我似乎没有获得类似字幕的行为。

尽管封面上的作者姓名不相关,但我希望允许标题显示类似字幕的行为,包括软包装和动态调整大小,如果用户输入的标题需要包装。

我能做些什么不同的事情来获得标题而不是标签行为?

感谢,

--UPDATE-- @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。

Sample image

+0

您应仔细阅读标签说明。 – EJoshuaS

+0

我相信你需要制作带有标题的图像,然后将该图像添加到您的封面。如果您想确认您的IM版本,我确信有人可以帮助解决您的问题。 – Bonzo

+0

@EJoshuaS我读过大部分http://www.imagemagick.org/Usage/text/#caption,直到实验部分。如果你只是想告诉我阅读文档,我会很感激,如果你可以提供一个链接。 (我刚刚运行了一个'convert --help',看到了另一个方法,试了一下,发现它也不行)。 – JonathanHayward

回答

1

你不应该同时使用-annotate和标题:在ImageMagick的相同的命令行。尝试使用其中一种。例如,这里有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所说,在IM 6中,您需要测试您的输入图像大小并指定您想要使用的百分比。例如,您必须在IM 6中以这种方式运行它。假设您希望文本宽度为图像宽度的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 
+1

要在V6中动态获取维度,您需要使用类似格式的内容并将其保存到变量中。而在V7中,你可以在一行中完成。 – Bonzo

相关问题