标题: [文件操作] 批处理怎样在图片指定位置添加文字水印和图片水印? [打印本页]
作者: hijackle 时间: 2011-1-5 01:50 标题: 批处理怎样在图片指定位置添加文字水印和图片水印?
批处理怎样把文字合并到图片上?
批处理能否实现如下功能
存在如下文件:
a.txt a.jpg b.jpg
通过批处理取得a.txt的内容,a.jpg和b.jpg文件的图片的尺寸大小,然后将a.txt里面的内容写到到尺寸大一点的jpg的右上角,将尺寸小一点的jpg的图片放到大一点尺寸的图片的中间或其他位置,通过以上操作形成一个新的jpg文件
似乎通过ps能很简单实现,批处理能否实现?还是需要调用第三方软件,请达人指点一下
作者: tmplinshi 时间: 2011-1-5 05:19
需下载 nconvert- @echo off
- set txt="a.txt"
- set jpg1="a.jpg"
- set jpg2="b.jpg"
- set jpg_output="_new.jpg"
-
- :: 找出图片的尺寸大小关系。尺寸小的图片会被设为 jpg1,大的为 jpg2。
- set command=nconvert -quiet -info %jpg1% %jpg2%
- for /f "tokens=1,2 delims=: " %%a in ('%command%') do (
- if "%%a"=="Width" set Width=%%b
- if "%%a"=="Height" (
- if not defined size1 (
- set /a size1 = Width * %%b
- ) else (
- set /a var = size1 - Width * %%b
- )
- )
- )
- if %var% gtr 0 (
- set jpg1=%jpg2%
- set jpg2=%jpg1%
- )
-
- :: 读取“%txt%”的内容。(只读取第一行内容。)
- set /p text=<%txt%
-
- :: 给“%jpg2%”加水印文字“%txt%”和水印图片“%jpg1%”
- nconvert -text_flag top-right -text "%text%" -wmflag center -wmfile %jpg1% -out jpeg -o %jpg_output% %jpg2%
复制代码
[ 本帖最后由 tmplinshi 于 2011-1-5 07:18 编辑 ]
作者: 2323947724 时间: 2017-4-23 02:15
本帖最后由 pcl_test 于 2017-4-23 02:23 编辑
回复 2# tmplinshi
http://www.bathome.net/thread-43916-1-1.html
作者: Batcher 时间: 2018-10-4 21:51
为图片添加多行文字水印- @echo off
- setlocal enabledelayedexpansion
- set CrLf=^
-
-
- set strWatermark=bbs!CrLf!bathome!CrLf!net
- nconvert -text_flag bottom-center -text "!strWatermark!" -out jpeg -o "1_new.jpg" "1.jpg"
复制代码
作者: 523066680 时间: 2018-10-5 09:20
本帖最后由 523066680 于 2018-10-5 10:38 编辑
抛个示例,ImageMagick 图片右下角加日期时间,新版不是convert命令了,是magick- @echo off
- set t=%date:~0,10% %time:~0,5%
- set t=%t:/=-%
- magick sample.jpg -gravity SouthEast -draw "font-size 80 font simhei text 50,50 '%t%'" sample_date.jpg
- pause
复制代码
才发现是多年前的帖子
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |