使用 ImageMagick (或类似的)覆盖图像的文件名

2024-02-18

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

毫无疑问,某些参数组合可以管理此问题,或者是否有更好的方法在脚本中执行此操作?


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

下面是一份原件和相应输出的示例图:

original image image with caption!

这是一个使用的命令-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

original image resulting image

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ImageMagick (或类似的)覆盖图像的文件名 的相关文章

  • 将 PDF 转换为 JPG 时质量低

    我正在尝试使用 Imagemagic RMAgick 将 PDF 文档转换为图像 原始 PDF 也是从图像创建的 不是原生矢量 PDF image Magick Image from blob original pdf self forma
  • 从 imread 返回的 ndims

    我正在从文件夹中选取图像 尺寸为128 128 为此 我使用以下代码行 FileName PathName uigetfile jpg Select the Cover Image file fullfile PathName FileNa
  • 识别相似图像的库

    我想确定 2 张图像的相似程度 图像可能已被缩放 裁剪等 因此简单的像素比较将不起作用 我环顾四周 有很多关于这个主题的学术论文 但他们没有发布他们的代码 那么 您知道有一个可以比较图像的已发布库 适用于 Linux 和 Windows 吗
  • 使用 GD lib 过滤器标准化 CSS 过滤器

    我想让用户拖动范围滑块并通过实时预览 CSS 滤镜 调整图像的亮度和对比度 然后使用 GD 库保存调整 但是 我似乎无法从 CSS 过滤器和 GD lib 亮度和对比度过滤器获得相同的结果 我的 CSS 过滤器范围为 50 150 其中 1
  • 使用 PHP 将 SVG 图像转换为 PNG

    我正在开发一个网络项目 该项目涉及动态生成的美国地图 根据一组数据为不同的州着色 这个 SVG 文件为我提供了一张很好的美国空白地图 并且很容易更改每个州的颜色 困难在于 IE 浏览器不支持 SVG 因此为了让我使用 svg 提供的便捷语法
  • 如何在 python 中读取 32 位 TIFF 图像?

    我想用 python 读取 32 位浮点图像文件来进行一些图像分析 我努力了 import matplotlib pyplot as plt im plt imread path to file tif 但是 这仅将数据读取为 8 位整数值
  • meteorjs 中的 imagemagick (在流星路由器和光纤的帮助下)

    我无法在meteorjs 中使用imagemagick 我正在开发一个小型 svg gt png 转换器 其中包含一个 REST API 来提供转换后的图像 我用meteor router实现了其余的api imagemagick 转换有效
  • 使用 ImageMagick/convert 创建半透明 PNG

    我有 PNG 文件 我想将整个图像转换为半透明 该图像将在 KML 文件中引用为 Google 地球 地图中使用的图标叠加层 使用 ImageMagick 向我建议了以下示例convert命令 但似乎都不起作用 第一个示例会导致错误 usr
  • Opencv Mat内存管理

    内存管理对于图像类至关重要 在opencv中 图像类是cv Mat 它有一个微妙的内存管理方案 假设我已经有了自己的图像类SelfImage class SelfImage public int width int height unsig
  • 在哪里可以获取 MAMP 上 ImageMagick 的 libfreetype.6.dylib 版本 16.0.0

    在 MAMP 下运行 imagemagick 时 出现错误消息 command output dyld Library not loaded opt local lib libfreetype 6 dylib Referenced from
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • 使用 ImageMagick 和 PHP 将 PNG 转换为 JPG 并将透明背景设置为白色

    将图像从 PNG 转换为 JPEG 时 如何使用 ImageMagick 带有 php 扩展 将透明背景设置为白色 在撰写本文时 您尚未指定正在使用哪个扩展 但如果您使用命令行 则命令将是 convert image png backgro
  • 图像梯度角计算

    我实际上是按照论文的说明进行操作的 输入应该是二进制 边缘 图像 输出应该是一个新图像 并根据论文中的说明进行了修改 我对指令的理解是 获取边缘图像的梯度图像并对其进行修改 并使用修改后的梯度创建一个新图像 因此 在 MATLAB Open
  • 安卓的限制

    我需要构建一个应用程序 该应用程序拍摄相机图像并将其上传到网络 在网络上进行一些处理并返回真 假 我在这方面遇到了一些问题 希望得到澄清 1 我的应用程序有什么方法可以知道 Android 相机捕获的图像吗 我从这里明白了什么 Androi
  • 两个图像之间的视频变形,FFMPEG/Minterpolate

    我正在尝试在 Ubuntu Linux 上的 bash 脚本中使用两个帧 png 图像 和 ffmpeg 的 minterpolate 过滤器制作一个快速且简单的变形视频 目的是稍后使用变形作为不同视频编辑器中相似视频之间的过渡 它适用于
  • 氡变换线检测

    我正在尝试检测灰度图像中的线条 为此 我在 MATLAB 中使用 Radon 变换 我的 m 文件的示例如下所示 我可以使用此代码检测多行 我还使用线条的移位和旋转属性来绘制线条 但是 我不明白在获取rho和theta值后如何获取检测线的起
  • Java中读取图像文件的方式有什么区别?

    在java中读取图像文件有多种方法 例如BufferedImage and ImageIcon仅举几例 我想知道这些情况有什么区别 它们是否依赖于上下文 在特定情况下只能使用其中一个 阅读所选图像的最佳方式是什么JFileChooser由用
  • 限制 Imagemagick 使用的空间和内存

    我在 Rails 应用程序上使用 Imagemagick 使用 rmagick 但我的服务器 Ubuntu 不是很大 当我启动转换进程时 Imagemagick 占据了我的服务器 30GB HDD 的所有位置 内存 我想限制内存和 tmp
  • 使用 Imagick 动态图像创建/Apache 标头

    在将现有的稳定网站转移到新服务器时 我遇到了一些使用 Imagick 动态创建图像的代码的间歇性问题 该代码解析 GET 查询 例如 example com image php ipid 750123 r 0 w 750 h 1000 然后
  • Node.js 转换 HEIC 文件

    我需要一种使用 Node js 将照片从 HEIC 格式转换为 jpg 或 png 的方法 我已经搜索过 似乎找不到任何有效的东西 npm i heic 转换 const convert require heic convert async

随机推荐

  • 需要创建带有水印图像的光标[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要创建带有透明 水印 图像的光标
  • 如果 UILabel 的内容不适合,则更改文本末尾的默认“...”

    我的 iPhone 项目中有一个 UILabel 它具有固定的宽度和高度 但它的内容可能会根据用户正在查看的内容而变化 有时 文本对于 UILabel 来说太大 此时字符串 被添加到行尾 我想知道是否可以将此字符串更改为其他内容 例如 mo
  • 如何输入非富文本?

    是否可以进入non 富文本进入文本编辑器 撇号富文本编辑器似乎添加 p 标签围绕其中的所有内容 我想像这样格式化 widget html p h2 apos singleton data widget section heading apo
  • JDBC:Oracle 应用服务器和“网络适配器无法建立连接”错误

    我从 Oracle 应用服务器 10g 中部署的 Web 应用程序收到错误 网络适配器无法建立连接 数据库是本地的 因此不应该有任何连接问题 第一个测试 我可以从 SQL plus 连接到数据库 运行查询等 没有任何问题 第二次测试 我可以
  • 如何将 sql 查询的结果映射到对象上?

    目前 我正在使用这样的东西 try dr SQL Execute sql if dr null while dr Read CustomObject c new CustomObject c Key dr 0 ToString c Valu
  • Javascript DOM“this”对象不正确

    有谁可以解释以下错误消息吗 我试图获取有关多个 div 的简单信息 而其中一个 div 抛出此错误 忽略具有 LenientThis 的属性的 get 或 set 因为 this 对象不正确 脚本 js 3288 resource gre
  • 如何从不同版本的python导入*.pyc文件?

    我使用 python 2 5 并从 C util Python25 Lib site packages 目录导入一个名为 irit py 的文件 该文件导入位于同一目录中的文件 irit pyc 它运行良好并且做了我想要的事情 然后 我用
  • Spark.table 与 sql() AccessControlException

    尝试跑步 spark table db table groupBy date agg sum total returns org apache spark sql AnalysisException org apache hadoop hi
  • 仅适用于正整数的正则表达式是什么? (不允许为零)

    仅适用于正整数的正则表达式是什么 不允许为零 我只能得到数字的正则表达式 即 d 我一直试图在网上寻找一个 但已经过去一个小时了 所以我决定将其发布在 Stack Overflow 上 matches 1 2 444 9000 012 不匹
  • 批处理文件中的 at 符号 (@) 是什么?它有什么作用?

    熟悉 windows dos 批处理脚本的人会认出这一行 echo off 在很多很多天里 我对这样的感觉感到高兴 is how echo off应该写在批次的顶部 仅此而已 然而 最近我遇到了 http getcomposer org d
  • 使用 C 计算 ASCII 文件中的行数

    我想计算 ASCII 文本文件中的行数 我认为最好的方法是计算文件中的换行符 for int c fgetc fp c EOF c fgetc fp Count word line endings if c n lines 但是 我不确定这
  • 无法确定我的测试用例是通过还是失败

    我需要在 JavaScript 中测试 事件 例如按钮单击 使用 Mocha 单击链接等 我有 3 个文件 1 Login html 2 Application js 3 test js 1 Application js文件包含以下代码 f
  • 在 Objective C 中将公历日期转换为儒略日计数

    我需要 Objective C 方法将公历日期转换为儒略日 与 PHP 方法 GregorianToJD 相同 精度 合并一天中的时间儒略日期转换 这些儒略日期转换方法产生的结果与美国海军天文台 https aa usno navy mil
  • 什么是谓词?

    作为一名业余编码员 我缺乏一些基础知识 在过去的几天里 我读了一些东西 谓词 这个词不断出现 我非常感谢有关该主题的解释 谓词的定义 可以在网上找到各种来源 例如 is 计算结果为 TRUE 或 FALSE 的逻辑表达式 通常用于指示代码中
  • 将表中的行从 utf8_turkish_ci 更新为 utf8_general_ci 有何影响?

    我无法加入某些表 因为有些表 行是 utf8 general ci 有些是 utf8 turkish ci 因此我不得不复制土耳其语 将其转换为通用语 最后使用它 但我想知道 如果我将原始表从土耳其语转换为通用表 我的应用程序会发生什么情况
  • Spark 数据帧将嵌套 JSON 转换为单独的列

    我有一个 JSON 流 其结构如下 可转换为数据帧 a 3936 b 123 c 34 attributes d 146 e 12 f 23 数据框显示函数结果如下输出 sqlContext read json jsonRDD show a
  • 在 mongodb 上每个集合使用多个模式

    我想在 mongodb 中的每个集合使用多个模式 如何使用它 当我尝试运行它时 它给了我这个错误 Error OverwriteModelError 无法覆盖allUsers模型一旦编译 OverwriteModelError 无法覆盖ch
  • 选择只有一个唯一值的 pandas 数据框列

    如何有效地选择只有 1 个唯一值的 pandas dataframe 列 我知道 DataFrame 和 Series nunique 我认为需要DataFrame nunique http pandas pydata org pandas
  • 在 Netbeans 7.1 中编译

    我无法在 Widows 7 中的 netbeans 7 1 中编译项目 错误是 mkdir exe 停止工作 我在 MinGW gt Msys gt 1 0 gt bin 中找到 mkdir exe 并运行 但没有解决这个问题 当我运行项目
  • 使用 ImageMagick (或类似的)覆盖图像的文件名

    我知道 ImageMagick 的annotate命令可以在图像上叠加一些文本 但是它可以使用图像的文件名作为该文本吗 我本来是这么认为的 但似乎找不到直接的文档来证实这一点 毫无疑问 某些参数组合可以管理此问题 或者是否有更好的方法在脚本