首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ImageMagick或类似的命令行工具在带有标题的页面上定位图像

使用ImageMagick或类似的命令行工具在带有标题的页面上定位图像
EN

Stack Overflow用户
提问于 2017-12-04 15:15:03
回答 2查看 514关注 0票数 1

我有一个风景图片foo.png,我想把它放在这样的页面上:

代码语言:javascript
运行
复制
+--------------+
|              |
|  title text  |
|              |
|  +--------+  |
|  |foo.png |  |
|  |        |  |
|  +--------+  |
|              |
|              |
+--------------+

我已经将图像正确地放置在页面上:

convert -background white -page letter+20+300 -resize 572x572 foo.png -layers flatten laid-out.png

但是,我无法找到正确的使用-annotate-draw textlabel:来让title text出现在正确的位置。

最终的目标是为大约100张图片编写脚本,所以我需要一个命令行解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-04 16:31:40

看起来,您最好利用ImageMagick的"-gravity“设置。这可能不是您想要的,但是请注意"-gravity“是如何用"-composite”来定位覆盖图像的,文本是用"-annotate“这样的命令定位的.

代码语言:javascript
运行
复制
convert foo.png -resize 572x572 \
   -size 612x792 xc:white +swap -gravity center -composite \
   -gravity north -pointsize 24 -annotate +0+100 "Title Text" laid-out.png

首先阅读"foo.png“并对其进行调整。然后,它设置所需画布的大小,创建一个这样大小的白色画布,将重心设置为中心,将覆盖图像与画布互换,以正确的顺序得到它们,并以画布为中心合成"foo.png“。

然后将重力设置更改为北,设置文本的点大小,并用位于"+0+100“的文本对图像进行注释。从左到右为零像素,从顶部向下为100个像素。

几个实验应该可以帮助你找到适合你需要的设置。

票数 1
EN

Stack Overflow用户

发布于 2017-12-04 18:38:22

下面是在ImageMagick中使用蒙太奇的另一种方法。

logo.jpg

代码语言:javascript
运行
复制
montage -title "Testing" logo.jpg -geometry 160x120+25+25 -tile 1x1 -frame 0 -background white logo_title.jpg 

几何学参数160x120对该维度进行调整大小,而+25+25添加了该大小的边框。请注意,与GeeMack的解决方案相比,这在定位标题方面提供的灵活性要小一些。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47636417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档