我在批处理模式下使用 IrfanView 来调整图片大小。我想将所有图像的大小调整为1840像素的宽度,而没有比例和质量损失。
例如,如果我有一个1700 x 1700像素的图像并将其调整为1840 x 1840像素,则没有问题。质量还可以。
但问题在于调整1920 x 1200像素的图像大小,因为高度远小于宽度。
执行的命令是:
"C:\IrfanView\i_view32.exe" "C:\photo\C0692B\*.jpg" /resize=(1840, 1840) /resample /convert="C:\photo\C0692B\test\*.jpg"
我因身高而失去了品质。我不想调整高度,因为它低于想要的大小。
在命令之前:
http://www.hostingpics.net/viewer.php?id=714806photo2.jpg
后:
http://www.hostingpics.net/viewer.php?id=445086photo2.jpg
对于这个例子,我想要居中图像并添加空白以获得具有1840 x 1840像素的图像而没有质量损失。
怎么做?
答案 0 :(得分:1)
IrfanView 的程序文件文件夹中的文本文件i_options.txt
列出并解释命令行上 IrfanView 支持的所有选项。
您希望将文件夹中的每个JPEG图像调整为宽度为1840像素,同时保持横向格式图像的宽高比,即宽度高于(或等于)高度。
对于纵向格式的图像,最好将高度调整为1840像素,同时保持每张图像的纵横比。
为此目的,有/resize_long=x
和/aspectratio
选项。
"C:\IrfanView\i_view32.exe" "C:\photo\C0692B\*.jpg" /resize_long=1840 /aspectratio /resample /convert="C:\photo\C0692B\test\*.jpg"
1920 x 1200像素的图像的宽高比为1920 / 1200 = 1.6
,因此调整后的图像的像素为1840 x 1150像素。
我不建议将每个图像的高度或宽度过小调整为1840 x 1840像素,以仅获得高度太低或“空白”的图像顶部和底部带有“空白”区域的方形图像左侧和右侧的区域,宽度太小。
如果1840 x 1840像素的网络图库需要图像,请参考宽度和高度为1840像素的 DIV 或 TD 元素中的每个图像并定义图像在元素内水平和垂直居中显示。
但是,也可以使用高级图像将图像调整为1840 x 1840像素,调整大小后的图像,例如使用高级批量转换模式,根据原始图像的宽度和高度,在顶部/底部或左/右边使用白色边框。
我首先在菜单项批量转换/重命名菜单文件中的 IrfanView 内点击。
然后我启用使用高级选项(批量调整大小...)并点击按钮高级。
我在打开的大对话框窗口中进行了跟踪:
1840
1840
1840
1840
white
颜色
不会检查所有其他高级选项。
我设置的 JPG选项:
未检查所有其他JPG选项。
所有这些设置都写入i_view32.ini
,可以在命令行中与/advancedbatch
一起使用。
我决定了解所有这些选项如何保存在 IrfanView 的INI文件中,以便能够编写批处理文件,该文件在文件夹中为批处理的临时文件创建动态i_view32.ini
图像转换任务。这样做的好处是可以独立于默认情况下i_view32.ini
当前包含的设置。
批次代码:
@echo off
(
echo [Batch]
echo AdvCanvas=1
echo AdvResample=1
echo AdvResize=1
echo AdvResizeRatio=1
echo AdvResizeH=1840.00
echo AdvResizeW=1840.00
echo AdvSaveOldDate=1
echo AdvOverwrite=1
echo UseAdvanced=1
echo UseResample=1
echo\
echo [Effects]
echo CanvMethod=1
echo CanvInside=1
echo CanvW=1840
echo CanvH=1840
echo CanvCorner=4
echo CanvColor=16777215
echo\
echo [JPEG]
echo KeepCom=1
echo KeepExif=1
echo KeepIptc=1
echo KeepQuality=1
echo KeepXmp=1
echo Save Progressive=1
echo Save Quality=95
) >"%Temp%\i_view32.ini"
"C:\IrfanView\i_view32.exe" "C:\photo\C0692B\*.jpg" /ini="%Temp%" /advancedbatch /convert="C:\photo\C0692B\test\*.jpg"
del "%Temp%\i_view32.ini"