使用 irfanview 裁剪图像

Crop images with irfanview

我正在使用 Irfanview,可以通过命令行 运行。 我的问题如下:

我的批处理文件:

i_view 32.exe /filelist=c:\test\*.pcx /crop=(1,2,3,4,5) /convert=c:\temp\*.pcx

其中 1 是 x 轴值,2 是 y 轴值,3 是宽度,4 是高度,5 是原点。

我需要批量裁剪 200 多张图像,但我的批处理文件将所有图像裁剪为 (1,2,3,4,5) 规格,而我需要根据正在处理的图像更改值。 换句话说,第一个被裁剪的图像将从原始选项 5 向右裁剪 1 个像素,向上裁剪 2 个像素,裁剪为 3×4 像素,但我需要文件夹中的下一个文件对裁剪命令的所有五个变量具有不同的值最好通过 csv table 或其他方式。 有谁知道这是否可能?

Ps- irfanview 已关闭其论坛以注册新帐户

@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
SET "destdir=U:\destdir"
SET "filename1=%sourcedir%\q35953462.txt"
FOR /f "usebackqtokens=1-6delims=," %%a IN ("%filename1%") DO (
 ECHO(i_view32 %%a /crop=(%%b,%%c,%%d,%%e,%%f^) /convert=%destdir%\%%~na.pcx
)

GOTO :EOF

您需要更改 sourcedirdestdir 的设置以适合您的情况。

我使用了一个名为 q35953462.txt 的文件,其中包含一些用于测试的虚拟数据。

file1.pcx,1,2,3,4,5
file2.pcx,5,4,3,2,1
file3.pcx,2,4,6,8,10

提议的 i_view32 命令只是 echo 显示在屏幕上。要激活 验证后 echo(i_view32 更改为 i_view32

有了文件,

阅读每一行并使用 , 作为分隔符进行标记化。有 6 个标记,指定为 %%a 并隐含地 %%b..%%f

我不知道单个文件的 irfanview 语法,所以我会把抛光留给你。

注意 ) 需要转义 ^) 因为它在代码块内。