找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 143156|回复: 43

[其他] [已解决]批处理图像尺寸(无损图片质量及PDI)

[复制链接]
发表于 2019-9-5 23:26:44 | 显示全部楼层 |阅读模式
列如A4: 尺寸 3507X2480  宽度 3507 像素 高度 2480 像素
            尺寸 2480X3507  宽度 2480 像素 高度 3507 像素            
      
       A3: 尺寸 4960X3507  宽度 4960 像素 高度 3507 像素
             尺寸 3507X4960  宽度 3507 像素 高度 4960 像素   
图片格式(.JPG、.TIF格式)


有很多图片A4尺寸不一  比如:2513X3650、3713X2623、2386X3486、3413X2313等等!
能否批处理成A4尺        例如:  2480X3507、3507X2480、2480X3507 、3507X2480

高度或者宽度超过4000那么就判断是A3。
请各位老师看看能否实现~谢谢~~!
发表于 2019-9-6 08:01:25 | 显示全部楼层
你定义的标准尺寸有好几个,假如有个图片是2513X3650,到底需要修改成哪个尺寸呢?规律是什么呢?
 楼主| 发表于 2019-9-6 11:42:18 | 显示全部楼层
回复 2# Batcher

我想定的规律是:
                       1、图片的宽度及高度没有一个大于3900的定为A4,大于3900以上小于5300以下定为A3,大于5300以上定为A2及以上不做处理并提示;
                       2、假设定为A4图片还需在A4图片中判断图片是竖显或横显,判断图片宽度小于高度那么修改为2480X3507,假如宽度大于高度那么修改为3507X2480;
                            假设定为A3图片还需在A3图片中判断图片是竖显或横显,判断图片宽度小于高度那么修改为3507X4960,假如宽度大于高度那么修改为4960X3507;
                       3、高度或宽度大于5300以上定为A2以上这图不做处理并提示导出文本;            
不知道这样定的规律是否能成,还请老师帮忙看下,谢谢~!
发表于 2019-9-6 12:02:33 | 显示全部楼层
A4: 210mm * 297mm    300DPI后:2480px * 3507px;
A3: 297mm * 420mm    300DPI后:3507px * 5040px;
A2: 420mm * 594mm    300DPI后:5040px * 7128px;
不管横竖,A3就是A3;A4就是A4。上面的尺寸都是国标。
 楼主| 发表于 2019-9-6 12:21:17 | 显示全部楼层
回复 4# xczxczxcz


    您说的尺寸标准是这样的,但是我这里的图片需要增加或者删除边缘。
例如:A4的图片,我这边有2331X3415、2560X3602这些是属于视觉效果竖显的,3590X2530、3313X2306这些视觉效果是横向,
那么需要批处理判断边缘删除或者增加是不是会出现问题,比如3590X2530的需要处理成3507X2480代码会不会处理成2480X3507了,
我觉得处理前需要判断图片的显摆方向。
发表于 2019-9-6 13:36:03 | 显示全部楼层
回复 3# luckcsz


下载 nconvert 和下面的 test.bat 保存到图片所在文件夹下执行
http://bcn.bathome.net/s/tool/index.html?key=nconvert
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "OutFolder=处理结果"
  4. set "LogFile=A2.log"
  5. md "%OutFolder%"
  6. type nul > "%LogFile%"
  7. for /f "delims=" %%a in ('dir /b /a-d *.jpg') do (
  8.     echo 正在处理文件 %%a
  9.     for /f "skip=2 tokens=1-2 delims=:" %%i in ('nconvert -quiet -info "%%a"') do (
  10.         set "str=%%i"
  11.         if "!str: Width =!" neq "%%i" (
  12.             set "PicW=%%j"
  13.             set "PicW=!PicW: =!"
  14.         ) else if "!str: Height =!" neq "%%i" (
  15.             set "PicH=%%j"
  16.             set "PicH=!PicH: =!"
  17.         )
  18.     )
  19.     if !PicW! gtr !PicH! (
  20.         set BigPix=!PicW!
  21.     ) else (
  22.         set BigPix=!PicH!
  23.     )
  24.     if !BigPix! gtr 5300 (
  25.         >> "%LogFile%" echo [A2] %%a
  26.     ) else if !BigPix! gtr 3900 (
  27.         echo [A3]
  28.         if !PicW! gtr !PicH! (
  29.             nconvert -quiet -resize 4960 3507 -o "%OutFolder%\%%a" "%%a"
  30.         ) else (
  31.             nconvert -quiet -resize 3507 4960 -o "%OutFolder%\%%a" "%%a"
  32.         )
  33.     ) else (
  34.         echo [A4]
  35.         if !PicW! gtr !PicH! (
  36.             nconvert -quiet -resize 3507 2480 -o "%OutFolder%\%%a" "%%a"
  37.         ) else (
  38.             nconvert -quiet -resize 2480 3507 -o "%OutFolder%\%%a" "%%a"
  39.         )
  40.     )
  41. )
复制代码

评分

参与人数 1技术 +1 收起 理由
luckcsz + 1 乐于助人,谢谢您老师~!

查看全部评分

 楼主| 发表于 2019-9-6 14:52:27 | 显示全部楼层
回复 6# Batcher


      不会弄啊,点击直接闪退~!是不是我这个是tif格式要先转JPG格式再用?我把这里 for /f "delims=" %%a in ('dir /b /a-d *.jpg *.tif') do (
老师能否给个演示~! 加了tif格式图片还是处理不了,还请老师看下
发表于 2019-9-6 15:31:13 | 显示全部楼层
回复 7# luckcsz


    nconvert 不是 xnconvert
 楼主| 发表于 2019-9-6 15:40:41 | 显示全部楼层
回复 8# Batcher


    下了7.12,我的图片是tif格式的,先要转换为JPG格式才可以吗?
这里加了for /f "delims=" %%a in ('dir /b /a-d *.jpg *.tif') do (
 楼主| 发表于 2019-9-6 15:55:47 | 显示全部楼层
回复 8# Batcher


    已经在处理了,我把64放进去搞错了,以为系统是64位这个也是64
老师谢谢您~!
 楼主| 发表于 2019-9-6 15:58:39 | 显示全部楼层
回复 8# Batcher


    能不能和处理前的图片一样也是压缩型大小,现在处理出来的图片是无压缩的很大了~!
能否解决~!
发表于 2019-9-6 16:10:46 | 显示全部楼层
回复 11# luckcsz


    请举例说明一下什么是压缩型大小?
 楼主| 发表于 2019-9-6 16:16:14 | 显示全部楼层
本帖最后由 luckcsz 于 2019-9-6 16:18 编辑

abbyy中保存格式 TIFF、彩色、JPEG 压缩(*.tif; *.tiff)
我图片修改后没有JPEG压缩图片原本453K,现在有24.9MB
发表于 2019-9-6 16:32:37 | 显示全部楼层
回复 13# luckcsz


有几个关于压缩的参数,我也不确定哪个适合你的情况,试试:
nconvert -quiet -resize 3507 4960 -c 8 -o "处理结果\2.tif" "2.tif"
 楼主| 发表于 2019-9-6 18:06:01 | 显示全部楼层
回复 14# Batcher


    能不能再压缩一点点,现在出来有 722 kb 原始文件 是433 kb
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:29 , Processed in 0.021909 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表