-1

我在批处理模式下使用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 像素的图像而不会造成质量损失。

这个怎么做?

4

1 回答 1

2

IrfanViewi_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 像素,以便在高度或左侧“空白”区域过低的图像上仅获得顶部和底部具有“空白”区域的方形图像右侧的宽度太小。

如果 Web 画廊需要 1840 x 1840 像素的图像,请从宽度和高度为 1840 像素的DIVTD元素中引用每个图像, 并定义图像在元素内水平和垂直居中显示。

但是,也可以使用高级批量转换模式根据原始图像的宽度和高度,使用画布将调整大小的图像按比例调整为 1840 x 1840 像素,例如在顶部/底部或左侧/右侧带有白色边框。

我首先在菜单项Batch Conversion/Rename上的菜单File中单击IrfanView

然后我启用了使用高级选项(用于批量调整大小...)并单击按钮Advanced

我在打开的大对话框窗口中做了以下操作:

  • 检查调整大小:
  • selected将一侧或两侧设置为
  • 输入宽度1840_
  • 输入高度1840_
  • 选定的像素
  • 选中保留纵横比(比例)
  • 检查使用重采样功能(更好的质量)
  • 检查画布大小,单击按钮设置
    • selected方法 2:以像素为单位设置总画布尺寸
    • 输入宽度1840_
    • 输入高度1840_
    • 选定的中心
    • white画布颜色选择颜色
  • 选中覆盖现有文件
  • 选中以原始日期/时间保存文件
  • 勾选将更改应用到所有页面(TIF/PDF 保存)

不检查所有其他高级选项。

我设置的JPG选项

  • 节省质量: 95 %
  • 选中另存为渐进式 JPG
  • 选中保留原始 EXIF 数据(如果 JPG 到 JPG)
  • 选中保留原始 IPTC 数据
  • 选中保留原始JPG-评论
  • 选中保留原始 XMP 数据
  • 已选中尝试以原始 JPG 质量保存(估计)
  • 重置 EXIF 方向标签选中

未选中所有其他 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"
于 2017-09-10T09:26:57.483 回答