首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >批处理-为每幅图片添加具有唯一文本的水印。

批处理-为每幅图片添加具有唯一文本的水印。
EN

Software Recommendation用户
提问于 2014-03-08 17:09:31
回答 2查看 4.7K关注 0票数 3

我有超过500张图片,我需要水印与文字将是不同的每一个图像。例如,如果我有一个建筑物的图片,我想水印这个建筑物的名称或地址。

我有保存在具有图像文件名的Excel文件中的唯一信息。

现在,在搜索了过去的三天,我还没有遇到一个工具,可以批处理水印独特的文字为每一张图片。

我主要是在Windows上运行,我很乐意使用命令行来完成这个过程。我也愿意花一些钱在一个工具上这样做,所以它不需要是免费的和/或开源的。

EN

回答 2

Software Recommendation用户

回答已采纳

发布于 2014-03-08 17:29:10

您可以使用批处理文件中的ImageMagick转换命令来完成这一任务--它将允许您将文本应用于文件、转换类型、rescale等,所有这些操作都是在一个操作中完成的--它也是免费的。

例如convert rose.jpg -draw "text 25,60 'By Any Other Name'" outdir/rose.jpg

或者,您可以使用pythonPIL ( python )或枕头 (PIL的一个分支)和xlrd自动完成整个工作,包括从excel文件中读取。这些也是免费的工具,但你需要更多的学习。我强烈建议在尝试对其进行任何操作之前对所有图像进行备份。

更新:

我只想补充一下,我在上面的回答中提到的一些关于最初问题的评论是:

  • 免费(免费)
  • 免费(开放源码)
  • 跨平台,特别是:
    • ImageMagik命令行图形操作:
      • Unix、Mac (X)、Windows和Linux的二进制下载
      • 源代码是可用的,所以您可能可以为其他任何东西构建它。

代码语言:javascript
运行
复制
- [**Python**](http://www.python.org/) _Programming Language_: 
    - Windows binaries available
    - Usually already installed on OS(S), Linux, Unix & many others
    - Ditto the source source
代码语言:javascript
运行
复制
- [**PIL**](http://www.pythonware.com/products/pil/)**/**[**Pillow**](https://pypi.python.org/pypi/Pillow/2.5.1#downloads) _Image Manipulation Library_: 
    - Binaries available for Windows
    - Installed from source if you have Python/PIP on other platforms
代码语言:javascript
运行
复制
- [**XLRD**](http://www.python-excel.org/) _Python Excel Reader Library_ 
    - Source distribution works on any python platform
票数 4
EN

Software Recommendation用户

发布于 2015-12-02 22:05:16

也许太迟了,但我在两周前偶然发现了这个问题,并通过编写代码找到了一个解决方案:

我设法用bulkWaterMark和.NET解决了一个类似的问题,您可以通过一个叫做表达式的特性来对动态文本进行水印。我使用了该工具的免费版本,并编写了一个自定义表达式上下文插件,它从存储图像信息的xml文件中加载数据。然后,我编写了一个表达式,该表达式将当前图像的文件名作为参数,并在xml文件中查找--所有这些都是用C#完成的。

问题是没有SDK文档,我也不确定这个插件接口是否正式公开,但您只需继承2或3个类并覆盖一些方法将自己的代码注入到应用程序中。它当时就像一种魅力。

您只需要引用程序集PMlabs.GrfX.Framework并创建您自己的这三个类的实现:

代码语言:javascript
运行
复制
 - ExpressionsPlugIn<TExpressionContext>
 - ExpressionContext
 - Expression<TExpressionContext>

表达式类是在呈现图像时调用的函数。上下文包含多个表达式,插件类保存上下文。只需确保实现抽象表达式类中的所有内容,其他的只是管道代码。

编译插件程序集后,将其放到bulkWaterMark安装的bin/plugins文件夹中。

另一个编辑:今天在Github上发布了我的解决方案的简化代码:https://github.com/barnacleboy/bulkWaterMarkExpressionPlugin

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

https://softwarerecs.stackexchange.com/questions/2128

复制
相关文章

相似问题

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