Sha*_*unt 7 ubuntu command-line imagemagick imagemagick-convert ubuntu-16.04
我正在尝试使用 ImageMagick 创建 3840 x 2160 的缩略图。
我需要图像具有黑色背景和白色文本。文本应垂直和水平居中。
我希望能够设置字体大小,但如果文本超出图像,则会自动减小字体大小,使其适合左侧和右侧的一定量的填充。
我将使用数十万张图像批量进行此操作。从我所发现的情况来看,您似乎总是必须设置字体大小,并且无法使其动态。
谁能确认这是否可行?
Mar*_*ell 10
您可以设置一个大小来指定文本的可用空间有多大,ImageMagick将选择适合的最大磅值文本:
magick -gravity center -background black -fill white -size 400x300 -font /System/Library/Fonts/MarkerFelt.ttc caption:"Short Text" short.png
Run Code Online (Sandbox Code Playgroud)
magick -gravity center -background black -fill white -size 400x300 -font /System/Library/Fonts/MarkerFelt.ttc caption:"Somewhat longer text that will get rendered in a smaller font" long.png
Run Code Online (Sandbox Code Playgroud)
如果您想要文本周围有边距,您可以设置文本的最大尺寸,然后使用-extent
- 我将用红色来增加画布的尺寸,以便您可以看到-extent
添加的内容:
magick -gravity center -background black -fill white -size 400x300 -font /System/Library/Fonts/MarkerFelt.ttc caption:"Somewhat longer text" -background red -extent 410x400 long.png
Run Code Online (Sandbox Code Playgroud)
如果您正在从文件中读取行以生成数十万张图像,则可以从另一个命令中输入文本,如下所示:
echo -n "Text supplied by other command" | magick -gravity center -background black -fill white -size 400x300 -font /System/Library/Fonts/MarkerFelt.ttc caption:@- result.png
Run Code Online (Sandbox Code Playgroud)
如果你想知道ImageMagick选择了什么 pointsize,你可以这样得到:
magick identify -format "%[caption:pointsize]\n" result.png
59
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3468 次 |
最近记录: |