[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 转换图片的批处理怎样实现拖拽和智能比例判断?

因为电脑里有太多图片要处理,所以在论坛看着帖子教程摸索了一阵子,搞了个一键转换图片的bat处理。但水平实在不行,只能够将就用一下。
希望论坛大佬帮我加上两个功能。
1、希望能够实现拖拽图片到bat图标就能够运行。
2、希望能够智能比例判断,当图片宽度大于高度时,修改图片宽度为1920。当图片高度大于宽度时,修改图片高度为1080。
先谢谢大家了。
  1. @echo off&setlocal
  2. for /f "delims=" %%z in ('dir/b nconvert.exe') do set "nconvert=%%~fz"
  3. set imageWidth=1080
  4. set iQuility=100
  5. for /f "delims=" %%I in ('dir/b/s/a-d *.jpg,*.jpeg,*.png,*.bmp,*.gif') do "%nconvert%" -c 5 -q %iQuility% -overwrite -out jpeg -D -ratio -resize 0 %imageWidth% "%%I">nul
  6. echo ==============&echo Done!&echo.
复制代码

诚心求教,等待大佬解答!

TOP

回复 3# went


非常感谢你的指导,不过有个缺陷啊,图片没有等比例缩放,纯粹拉伸了。

TOP

本帖最后由 myacg 于 2020-4-9 11:14 编辑

我搜论坛教程改了一下,这样就行了,比例正常,再次感谢。

if %width% gtr %height% set "newsize=1920 0
if %width% lss %height% set "newsize=0 1080"

不过这样改有个缺陷,就是新尺寸显示不正常了,不过不影响使用。

TOP

返回列表