使用irfanview裁剪图像

时间:2016-03-12 03:38:25

标签: csv batch-file command line

我正在使用可以通过命令行运行的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)规格,而我需要根据正在处理的图像来更改值。 换句话说,第一个被裁剪的图像将是3×4像素裁剪1个像素右边和2个像素距离原点选项5,但我需要文件夹中的下一个文件为crop命令的所有五个变量赋予不同的值最好是通过csv表或其他东西。 有谁知道这是否可行?

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

1 个答案:

答案 0 :(得分:1)

@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语法,所以我会抛光给你。

请注意)需要转发^),因为它位于代码块中。