image-processing - 使用ImageMagick(或类似格式)覆盖图像的文件名

标签 image-processing imagemagick filenames

我知道ImageMagick的annotate命令可以在图像上叠加一些文本,但是它可以使用图像的文件名作为文本吗?我以为是这样,但似乎找不到直接的文档来证实这一点。

毫无疑问,某些参数组合可以解决此问题,或者在脚本中是否存在更好的方法?

最佳答案

埃里克·L(Eric L.)的回答是正确的-为此我+1! -但是-annotate并不能给您太多控制文本的外观。

如果您要寻找美感,那就去找使用-composite的东西。您可以使用IM命令先构造一个覆盖图像(使用半透明背景),然后将其覆盖在原始图像上。

这是一个使用-composite而不是-annotate的示例,该脚本使用脚本方法来处理当前目录中的每个PNG文件。这个甚至自动调整字体大小并将其调整为可用的“宽度* 90%”-这是一个Bash脚本(请参见Win等效注释):

for img in *.png; do

   width=$(identify -format %W ${img})
   width=$(( ${width} * 9 / 10 ))

   convert                  \
     -background '#0008'    \
     -gravity center        \
     -fill white            \
     -size ${width}x100     \
      caption:"${img}"      \
      "${img}"              \
     +swap                  \
     -gravity south         \
     -composite             \
      "with-caption-${img}"

done


一张原稿的示例插图及其相应的输出如下:



这是一个使用-annotate的命令,试图设置一些超出默认参数的内容:

for img in so#12231624-right.png; do

   convert                   \
      "${img}"               \
     -fill red               \
     -undercolor '#0008'     \
     -pointsize 24           \
     -gravity south          \
     -annotate +0+5 "${img}" \
      "with-annotate-${img}"

done


关于image-processing - 使用ImageMagick(或类似格式)覆盖图像的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106200/

相关文章:

python - 如何从 python 中的模糊图像中找到扭曲矩形的准确角位置?

java - 使用 JMagick 对图像重新采样

VLC 中的时间码和文件名前缀

mysql - Web2py上传静态文件名不同的文件到数据库

c++ - 如何使用 OpenCV 细化具有粗糙水平线的图像?

python-3.x - 如何从图像中检测特定点并在python中的多个图像中裁剪

r - 使用 geom_raster() 或 geom_tile 或 geom_rect() 绘制多个图层

ruby-on-rails - 默认 URL 未在 Rails 中使用 Carrierwave 加载

Imagemagick/将单色tiff文件转换为单色png文件

python - 从 linux 上的符号链接(symbolic link)执行时如何查找正在运行的脚本的文件名