深夜读书会

 找回密码
 注册
搜索
查看: 3041|回复: 18

使用ImageMagick进行批量图片处理

[复制链接]

28

主题

106

帖子

3220

积分

吃书妖怪

Rank: 5Rank: 5Rank: 5

积分
3220
贡献
3220
金币
3692
发表于 2021-1-16 22:16:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 hoebec 于 2021-1-18 19:22 编辑

最近发现ImageMagick的自动脚本有时也挺方便的,发一些自己做的bat研究一下

因为是bat,所以都只支持单个文件和单层目录,没有递归(不会)

首先是基本的jpg转换和png转换:

  1. @echo off
  2. title Image-JPG
  3. Setlocal Enabledelayedexpansion
  4. Set str=%1
  5. :str
  6. if not defined str Set /p "str=Image file/folder:"
  7. if not defined str goto str
  8. dir /ad %str% >nul 2>nul&&goto dir||goto file
  9. exit

  10. :dir
  11. if not exist !str!\ exit
  12. echo convert image folder
  13. cd /d %str%
  14. Set qua=90
  15. Set /p qua=compression ratio(default/90):
  16. echo convert image files to jpg%qua% directory
  17. if not exist %str%-jpg%qua% mkdir %str%-jpg%qua%
  18. %~dp0\mogrify -path %str%-jpg%qua% -format jpg -quality %qua% *.*
  19. Set /p exitinfo=done..
  20. exit

  21. :file
  22. if not exist !str! exit
  23. echo convert image file
  24. Set qua=90
  25. Set /p qua=compression ratio(default/90):
  26. echo convert %str% to jpg%qua% file
  27. for %%a in (!str!) do (
  28. %~dp0\convert !str! -format jpg -quality %qua% "%%~dpna-jpg%qua%.jpg")
  29. Set /p exitinfo=done..
  30. exit
复制代码

  1. @echo off
  2. title Image-PNG
  3. Setlocal Enabledelayedexpansion
  4. Set str=%1
  5. :str
  6. if not defined str Set /p "str=Image file/folder:"
  7. if not defined str goto str
  8. dir /ad %str% >nul 2>nul&&goto dir||goto file
  9. exit

  10. :dir
  11. if not exist !str!\ exit
  12. echo convert image folder
  13. cd /d %str%
  14. Set qua=75
  15. Set /p qua=compression level(default/75):
  16. echo convert image files to png%qua% directory
  17. if not exist %str%-png%qua% mkdir %str%-png%qua%
  18. %~dp0\mogrify -path %str%-png%qua% -format png -quality %qua% *.*
  19. Set /p exitinfo=done..
  20. exit

  21. :file
  22. if not exist !str! exit
  23. echo convert image file
  24. Set qua=75
  25. Set /p qua=compression level(default/75):
  26. echo convert %str% to png%qua% file
  27. for %%a in (!str!) do (
  28. %~dp0\convert !str! -format png -quality %qua% "%%~dpna-png%qua%.png")
  29. Set /p exitinfo=done..
  30. exit
复制代码


使用方法:首先必须安装ImageMagick,官网下载https://www.imagemagick.org/script/download.php#windows.当然不用安装版的也可以,我自己用的是portable版(把exe文件复制到bat所在目录)
本贴的脚本都基于ImageMagick-7.0.10-57-portable-Q16-x64.zip版本制作

以上两个脚本需要用到convert.exe.双击运行bat,把需要转换的图片文件/文件夹拖到cmd窗口,ENTER,输入压缩质量数值,jpg是1-100,png是00-95(第一位数字取值0-9,第二位数字取值0-5),然后等待完成
会创建新文件/文件夹,不会修改原文件


图片缩放:
  1. @echo off
  2. title Image-Resize
  3. Setlocal Enabledelayedexpansion
  4. Set str=%1
  5. :str
  6. if not defined str Set /p "str=Image file/folder:"
  7. if not defined str goto str
  8. if not exist %str%\ goto file

  9. :dir
  10. echo resize image folder
  11. cd /d %str%
  12. Set ext=jpg
  13. Set /p ext=new file type(default/jpg):
  14. Set qua=90
  15. Set /p qua=quality(default/90):
  16. Set rs=x1000
  17. Set /p rs=image resize setting(1000/x1000,default/x1000):
  18. if not exist %str%-%rs%-%ext%%qua% mkdir %str%-%rs%-%ext%%qua%
  19. echo convert image files to %rs%-%ext%%qua% directory
  20. %~dp0\mogrify -path %str%-%rs%-%ext%%qua% -resize %rs% -format %ext% -quality %qua% *.*
  21. Set /p exitinfo=done..
  22. exit

  23. :file
  24. if not exist %str% exit
  25. echo resize image file
  26. Set ext=jpg
  27. Set /p ext=new file type(default/jpg):
  28. Set qua=90
  29. Set /p qua=quality(default/90):
  30. Set rs=x1000
  31. Set /p rs=image resize setting(1000/x1000,default/x1000):
  32. for %%a in (!str!) do (
  33. echo convert %%~nxa to %rs%-%ext%%qua% file
  34. %~dp0\convert !str! -resize %rs% -format %ext% -quality %qua% "%%~dpna-%rs%-%ext%%qua%.!ext!")
  35. Set /p exitinfo=done..
  36. exit
复制代码

ImageMagick的缩放参数比较多,基本的就是1000(1000宽)x1000(1000高)这样的格式

图片旋转:
  1. @echo off
  2. title Image-Rotate
  3. Setlocal Enabledelayedexpansion
  4. Set str=%1
  5. :str
  6. if not defined str Set /p "str=Image file/folder:"
  7. if not defined str goto str
  8. if not exist %str%\ goto file

  9. :dir
  10. echo rotate image folder
  11. cd /d %str%
  12. Set ext=jpg
  13. Set /p ext=new file type(default/jpg):
  14. Set qua=90
  15. Set /p qua=quality(default/90):
  16. Set bg=none
  17. Set /p bg=background color(default/none):
  18. Set rt=90
  19. Set /p rt=image rotation degree(90/-90,default/90):
  20. if not exist %str%-r%rt%-%ext%%qua% mkdir %str%-r%rt%-%ext%%qua%
  21. echo convert image files to r%rt%-%ext%%qua% directory
  22. %~dp0\mogrify -path %str%-r%rt%-%ext%%qua% -background %bg% -rotate %rt% -format %ext% -quality %qua% *.*
  23. Set /p exitinfo=done..
  24. exit

  25. :file
  26. if not exist %str% exit
  27. echo rotate image file
  28. Set ext=jpg
  29. Set /p ext=new file type(default/jpg):
  30. Set qua=90
  31. Set /p qua=quality(default/90):
  32. Set bg=none
  33. Set /p bg=background color(default/none):
  34. Set rt=90
  35. Set /p rt=image rotation degree(90/-90,default/90):
  36. for %%a in (!str!) do (
  37. echo convert %%~nxa to r%rt%-%ext%%qua% file
  38. %~dp0\convert !str! -background %bg% -rotate %rt% -format %ext% -quality %qua% "%%~dpna-r%rt%-%ext%%qua%.!ext!")
  39. Set /p exitinfo=done..
  40. exit
复制代码


90,-90是旋转角度,这两种角度也不需要考虑背景色

批量加水印:
  1. ' 2>nul&cls&@echo off
  2. ' 2>nul&title Watermark
  3. ' 2>nul&Setlocal Enabledelayedexpansion
  4. ' 2>nul&Set /p "Input=Image file/folder:"
  5. ' 2>nul&Set /p "Water=Watermark txt/image:"
  6. ' 2>nul&start "" Wscript.exe %0 %Input% %Water% //Nologo //e:vbs &exit
  7. Set objFSO = CreateObject("scripting.filesystemobject")
  8. Set WshShell = CreateObject("Wscript.Shell")
  9. Set RE = CreateObject("vbscript.RegExp")

  10. Input = wscript.arguments(0)
  11. Water = wscript.arguments(1)

  12. Font="msyh.ttf"
  13. Size=15
  14. Color="red"
  15. BgColor="none"
  16. Width=300
  17. Opacity=50
  18. Ext="png"
  19. Pos="-gravity southeast -geometry +25+25"

  20. If LCase(objFSO.GetExtensionName(Water))="txt" Then
  21.   Font = Inputbox("Font Path:",,Font)
  22.   Size = Inputbox("Font Size:",,Size)
  23.   Color = Inputbox("Font Color:",,Color)
  24.   BgColor = Inputbox("Bg Color:",,BgColor)
  25.   Width = Inputbox("Watermark Width:",,Width)
  26. End If

  27. Opacity = Inputbox("Opacity:",,Opacity)
  28. Ext = Inputbox("Output Ext:",,Ext)
  29. Pos = Inputbox("Watermark Position:",,Pos)

  30. If Font<>EMPTY Then FontPara="-font """&Font&""""
  31. If Opacity<>EMPTY Then Compos="-compose dissolve -define compose:args="&Opacity

  32. If objFSO.FileExists(Input) Then Output=objFSO.GetParentFolderName(Input)&"\"&objFSO.GetBaseName(Input)&"-watermarked."&Ext
  33. If objFSO.FolderExists(Input) Then
  34. Output=Input&"-watermarked"
  35. If not objFSO.FolderExists(Output) Then objFSO.createFolder(Output)
  36. End If

  37. If LCase(objFSO.GetExtensionName(Water))="txt" Then
  38.   WatermarkImage=objFSO.GetSpecialFolder(2)&"\watermark.png"
  39.   WaterText=objFSO.OpenTextFile(Water,1,false,true).ReadAll
  40.   RE.Global = True
  41.   RE.MultiLine = True
  42.   RE.IgnoreCase = True
  43.   RE.Pattern = chr(34)
  44.   WaterText=RE.Replace(WaterText,chr(34)&chr(34))
  45.   RE.Pattern = chr(37)
  46.   WaterText=RE.Replace(WaterText,chr(37)&chr(37))
  47.   WshShell.run "convert -background """&Bgcolor&""" -fill """&Color&""" -pointsize "&Size&" -size "&Width&" "&FontPara&" caption:"""&WaterText&""" +antialias -flatten -trim "&WatermarkImage&"",0,true
  48. Else
  49.   WatermarkImage=Water
  50. End If

  51. WaterSpace=objFSO.GetSpecialFolder(2)&"\colorspace"

  52. If objFSO.FileExists(Input) Then
  53.   WatermarkImage=chr(34)&WatermarkImage&chr(34)
  54.   Input=chr(34)&Input&chr(34)
  55.   Output=chr(34)&Output&chr(34)
  56.   WshShell.Run "cmd /c identify -format %[colorspace] "&Input&">"&WaterSpace&"",0,true
  57.   CS="-colorspace "&objFSO.OpenTextFile(WaterSpace,1,false,false).ReadLine
  58.   WshShell.Run "composite "&CS&" "&Pos&" "&Compos&" "&WatermarkImage&" "&Input&" "&Output&"",0,true
  59.   objFSO.DeleteFile(WaterSpace)
  60.   CS=EMPTY
  61. End If

  62. If objFSO.FolderExists(Input) Then
  63.   WatermarkImage=chr(34)&WatermarkImage&chr(34)
  64.   For Each i in objFSO.GetFolder(Input).files
  65.     Inputfile=i.path
  66.     Outputfile=Output&"\"&objFSO.GetBaseName(i)&"."&Ext
  67.     Inputfile=chr(34)&Inputfile&chr(34)
  68.     Outputfile=chr(34)&Outputfile&chr(34)
  69.     WshShell.Run "cmd /c identify -format %[colorspace] "&Inputfile&">"&WaterSpace&"",0,true
  70.     CS="-colorspace "&objFSO.OpenTextFile(WaterSpace,1,false,false).ReadLine
  71.     WshShell.Run "composite "&CS&" "&Pos&" "&Compos&" "&WatermarkImage&" "&Inputfile&" "&Outputfile&"",0,true
  72.     objFSO.DeleteFile(WaterSpace)
  73.     CS=EMPTY
  74.   Next
  75. End If

  76. Wscript.Echo "Done"
复制代码


首先把需要加水印的图片文件/文件夹拖到cmd窗口,ENTER然后输入水印对应的txt/图片,如果输入的是图片,下一步就是在vbs里面依次选择(不)透明度,输出格式,水印位置(默认是右下角,距离边缘25像素).如果输入的是txt,就会读取txt的所有文本(按unicode编码读取),转换成一张水印图片,会增加文字的样式选择.
也一样是创建新文件,不修改原文件

转换截图文件:
  1. @echo off
  2. title ClipBoard-Image
  3. Setlocal Enabledelayedexpansion
  4. Set hour=%time:~0,2%
  5. for /l %%i in (0,1,9) do (if %time:~0,2%==%%i Set hour=0%%i)
  6. Set scrtime=%date:~0,4%%date:~5,2%%date:~8,2%_%hour%%time:~3,2%%time:~6,2%
  7. Set scrfolder=%HOMEPATH%\Pictures\ScreenShot
  8. if not exist %scrfolder% mkdir %scrfolder%
  9. %~dp0\convert clipboard:myimage %scrfolder%\%scrtime%.png
复制代码


这个的用法是按下printscreen键后,双击运行脚本,就会在"我的图片\ScreenShot"目录下生成以时间数字命名的png截图

图片裁剪:
  1. @echo off
  2. title Image-crop
  3. Setlocal Enabledelayedexpansion
  4. Set str=%1
  5. :str
  6. if not defined str Set /p "str=Image file/folder:"
  7. if not defined str goto str
  8. choice /c:12 /m:"(1)edge crop (2)average crop"
  9. if %errorlevel%==1 goto edgecrop
  10. if %errorlevel%==2 goto averagecrop

  11. :edgecrop
  12. if not exist !str!\ goto filedge
  13. echo edge crop image folder
  14. cd /d "%str%"
  15. Set ext=jpg
  16. Set /p ext=new file type(default/jpg):
  17. Set qua=90
  18. Set /p qua=compression ratio(default/90):
  19. Set left=0
  20. Set /p left=left crop(default/0):
  21. Set right=0
  22. Set /p right=right crop(default/0):
  23. Set top=0
  24. Set /p top=top crop(default/0):
  25. Set bottom=0
  26. Set /p bottom=bottom crop(default/0):
  27. Set /a n=%left%+%right%+%top%+%bottom%
  28. Set /a n1=%left%+%right%
  29. Set /a n2=%top%+%bottom%
  30. Set /a err=0
  31. if !n! EQU 0 exit
  32. if not exist %str%-c%left%-%right%-%top%-%bottom%-%ext%%qua% mkdir %str%-c%left%-%right%-%top%-%bottom%-%ext%%qua%
  33. echo edge crop image files to c%left%-%right%-%top%-%bottom%-%ext%%qua% directory
  34. for %%a in (*.*) do (
  35. for /f %%i in ('%~dp0\identify -format %%w %%a') do Set w=%%i
  36. for /f %%i in ('%~dp0\identify -format %%h %%a') do Set h=%%i
  37. if !n1! GEQ !w! Set /a skip=1
  38. if !n2! GEQ !h! Set /a skip=1
  39. Set /a w1=!w!-!left!-!right!
  40. Set /a h1=!h!-!top!-!bottom!
  41. Set "newf=%str%-c%left%-%right%-%top%-%bottom%-%ext%%qua%\%%~na.!ext!"
  42. if !skip! EQU 1 Set /a err=err+1
  43. if !skip! NEQ 1 (
  44. %~dp0\convert "%%a" -strip -crop !w1!x!h1!+!left!+!top! -format %ext% -quality %qua% "!newf!")
  45. Set /a skip=0)
  46. echo error: !err!
  47. Set /p exitinfo=done..
  48. exit

  49. :filedge
  50. if not exist !str! exit
  51. echo edge crop image file
  52. Set ext=jpg
  53. Set /p ext=new file type(default/jpg):
  54. Set qua=90
  55. Set /p qua=compression ratio(default/90):
  56. Set left=0
  57. Set /p left=left crop(default/0):
  58. Set right=0
  59. Set /p right=right crop(default/0):
  60. Set top=0
  61. Set /p top=top crop(default/0):
  62. Set bottom=0
  63. Set /p bottom=bottom crop(default/0):
  64. Set /a n=%left%+%right%+%top%+%bottom%
  65. Set /a n1=%left%+%right%
  66. Set /a n2=%top%+%bottom%
  67. Set /a err=0
  68. if !n! EQU 0 exit

  69. echo edge crop %%~nxa to c%left%-%right%-%top%-%bottom%-%ext%%qua% file
  70. for %%a in (!str!) do (
  71. for /f %%i in ('%~dp0\identify -format %%w %%a') do Set w=%%i
  72. for /f %%i in ('%~dp0\identify -format %%h %%a') do Set h=%%i
  73. if !n1! GEQ !w! Set /a skip=1
  74. if !n2! GEQ !h! Set /a skip=1
  75. Set /a w1=!w!-!left!-!right!
  76. Set /a h1=!h!-!top!-!bottom!
  77. Set "newf=%%~dpna-c%left%-%right%-%top%-%bottom%-%ext%%qua%.!ext!"
  78. if !skip! EQU 1 Set /a err=err+1
  79. if !skip! NEQ 1 (
  80. %~dp0\convert "%%a" -strip -crop !w1!x!h1!+!left!+!top! -format %ext% -quality %qua% "!newf!")
  81. Set /a skip=0)
  82. echo error: !err!
  83. Set /p exitinfo=done..
  84. exit

  85. :averagecrop
  86. if not exist !str!\ goto fileaverage
  87. echo average crop image folder
  88. cd /d "%str%"
  89. Set ext=jpg
  90. Set /p ext=new file type(default/jpg):
  91. Set qua=90
  92. Set /p qua=compression ratio(default/90):
  93. Set drt=rtl
  94. Set /p drt=direction(rtl/ltr,default/rtl):
  95. if not exist %str%-%drt%-%ext%%qua% mkdir %str%-%drt%-%ext%%qua%
  96. echo average crop image files to %drt%-%ext%%qua% directory
  97. for %%a in (*.*) do (
  98. for /f %%i in ('%~dp0\identify -format %%w "%%a"') do Set w=%%i
  99. for /f %%i in ('%~dp0\identify -format %%h "%%a"') do Set h=%%i
  100. Set /a w1=!w!/2
  101. Set /a w2=!w!-!w1!
  102. if "%drt%"=="ltr" Set "newf1=%str%-%drt%-%ext%%qua%\%%~na_1.!ext!"&Set "newf2=%str%-%drt%-%ext%%qua%\%%~na_2.!ext!"
  103. if "%drt%"=="rtl" Set "newf1=%str%-%drt%-%ext%%qua%\%%~na_2.!ext!"&Set "newf2=%str%-%drt%-%ext%%qua%\%%~na_1.!ext!"
  104. %~dp0\convert "%%a" -strip -crop !w1!x!h!+0+0 -format %ext% -quality %qua% "!newf1!"
  105. %~dp0\convert "%%a" -strip -crop !w2!x!h!+!w1!+0 -format %ext% -quality %qua% "!newf2!")
  106. Set /p exitinfo=done..
  107. exit

  108. :fileaverage
  109. if not exist !str! exit
  110. echo average crop image file
  111. Set ext=jpg
  112. Set /p ext=new file type(default/jpg):
  113. Set qua=90
  114. Set /p qua=compression ratio(default/90):
  115. Set drt=rtl
  116. Set /p drt=direction(rtl/ltr,default/rtl):
  117. for %%a in ("!str!") do (
  118. echo average crop %%~nxa to %ext%%qua% file
  119. for /f %%i in ('%~dp0\identify -format %%w "%%a"') do Set w=%%i
  120. for /f %%i in ('%~dp0\identify -format %%h "%%a"') do Set h=%%i
  121. Set /a w1=!w!/2
  122. Set /a w2=!w!-!w1!
  123. if "%drt%"=="ltr" Set "newf1=%%~dpna_1.!ext!"&Set "newf2=%%~dpna_2.!ext!"
  124. if "%drt%"=="rtl" Set "newf1=%%~dpna_2.!ext!"&Set "newf2=%%~dpna_1.!ext!")
  125. %~dp0\convert "!str!" -strip -crop !w1!x!h!+0+0 -format %ext% -quality %qua% "!newf1!"
  126. %~dp0\convert "!str!" -strip -crop !w2!x!h!+!w1!+0 -format %ext% -quality %qua% "!newf2!"
  127. Set /p exitinfo=done..
  128. exit
复制代码


有两个选项,一个按边缘裁剪,另一个是水平方向平分为两张图片,这个脚本不支持带空格的文件路径

几何拼合图片:
  1. @echo off
  2. title Image-geometry
  3. Setlocal Enabledelayedexpansion
  4. Set str=%1
  5. :str
  6. if not defined str Set /p "str=Image file/folder:"
  7. if not defined str goto str
  8. if not exist %str%\ exit
  9. cd /d %str%
  10. Set ext=jpg
  11. Set /p ext=new file type(default/jpg):
  12. Set qua=90
  13. Set /p qua=quality(default/90):
  14. Set bg=none
  15. Set /p bg=background color(default/none):
  16. Set lati=1
  17. Set /p lati=horizontal image number(default/1):
  18. Set longi=1
  19. Set /p longi=vertical image number(default/1):
  20. echo geometry image files to %ext%%qua%-%lati%-%longi%.!ext!
  21. for %%a in (!str!) do (
  22. %~dp0\montage *.* -background %bg% -geometry +0+0 -tile %lati%x%longi% -format %ext% -quality %qua% "%%~dpna-%ext%%qua%-%lati%-%longi%.!ext!")
  23. Set /p exitinfo=done..
  24. exit
复制代码


按横向与竖向的设定数目拼合

定向去色:
  1. @echo off
  2. title Image-transparent
  3. Setlocal Enabledelayedexpansion
  4. Set str=%1
  5. :str
  6. if not defined str Set /p "str=Image file/folder:"
  7. if not defined str goto str
  8. dir /ad %str% >nul 2>nul&&goto dir||goto file
  9. exit

  10. :dir
  11. if not exist !str!\ exit
  12. echo convert image folder
  13. cd /d %str%
  14. Set color=white
  15. Set /p color=discard color(default/white):
  16. echo convert image files to transparent-%color% directory
  17. if not exist %str%-transparent-%color% mkdir %str%-transparent-%color%
  18. %~dp0\mogrify -path %str%-transparent-%color% -transparent %color% *.*
  19. Set /p exitinfo=done..
  20. exit

  21. :file
  22. if not exist !str! exit
  23. echo convert image file
  24. Set color=white
  25. Set /p color=discard color(default/white):
  26. for %%a in (!str!) do (
  27. echo convert %%~nxa to transparent-%color% file
  28. %~dp0\convert !str! -transparent %color% "%%~dpna-transparent-%color%.png")
  29. Set /p exitinfo=done..
  30. exit
复制代码


使某种颜色的区域变透明(假装可以批量去水印/抠图)

评分

参与人数 1金币 +5 收起 理由
Momus諾哪 + 5 推教學

查看全部评分

回复

使用道具 举报

61

主题

3806

帖子

4409

积分

版主

Rank: 10Rank: 10

积分
4409
贡献
4409
金币
5461

版主御守

发表于 2021-1-16 22:19:07 | 显示全部楼层
有没有批量去水印的(逃)

点评

哔哩哔哩在劫难逃魔手!  发表于 2021-1-17 14:35
同求,以提高1小时一张的去水印速度...  发表于 2021-1-16 22:25
回复 支持 反对

使用道具 举报

142

主题

1万

帖子

1万

积分

图书迷宫

Rank: 7Rank: 7Rank: 7

积分
14163
贡献
14163
金币
10903
发表于 2021-1-16 22:28:52 | 显示全部楼层
這裡有大神啊
回复 支持 反对

使用道具 举报

28

主题

106

帖子

3220

积分

吃书妖怪

Rank: 5Rank: 5Rank: 5

积分
3220
贡献
3220
金币
3692
 楼主| 发表于 2021-1-16 22:32:58 | 显示全部楼层

网上的ImageMagick教程太多了,和FFMPEG一样都是应用相当广的,我也是勤劳的搬运工

点评

去水印还得做个能识别什么是水印的插件hhhh  发表于 2021-1-16 22:47
回复 支持 反对

使用道具 举报

19

主题

1427

帖子

5046

积分

吃书妖怪

Rank: 5Rank: 5Rank: 5

积分
5046
贡献
5046
金币
12
发表于 2021-1-17 07:40:43 来自手机 | 显示全部楼层
我都是bat直接建一个改名的
回复 支持 反对

使用道具 举报

19

主题

1427

帖子

5046

积分

吃书妖怪

Rank: 5Rank: 5Rank: 5

积分
5046
贡献
5046
金币
12
发表于 2021-1-17 08:46:41 | 显示全部楼层
大佬,直接把png重命名为jpg会有什么影响呢?

点评

一些高质量的扫本就算转为jpg也是十分精细!(就看原图质量)  发表于 2021-1-17 14:40
如果直接改后缀,一般会识别出来并且自动修改为原格式。 如果你是转换为JPG,会降低图片质量。(也许和参数有关)  发表于 2021-1-17 14:39
回复 支持 反对

使用道具 举报

28

主题

106

帖子

3220

积分

吃书妖怪

Rank: 5Rank: 5Rank: 5

积分
3220
贡献
3220
金币
3692
 楼主| 发表于 2021-1-17 08:56:31 | 显示全部楼层
虚魔顾客 发表于 2021-1-17 08:46
大佬,直接把png重命名为jpg会有什么影响呢?

后缀名不会影响文件本身的性质.

看图软件也一般还是识别成png,我用的photoshop就无法加载

关键是,一般来说,同一张图片png转成jpg,文件会变小
回复 支持 反对

使用道具 举报

19

主题

1427

帖子

5046

积分

吃书妖怪

Rank: 5Rank: 5Rank: 5

积分
5046
贡献
5046
金币
12
发表于 2021-1-17 09:02:46 | 显示全部楼层
hoebec 发表于 2021-1-17 08:56
后缀名不会影响文件本身的性质.

看图软件也一般还是识别成png,我用的photoshop就无法加载

好的,谢谢哦。
回复 支持 反对

使用道具 举报

89

主题

207

帖子

1052

积分

E·怠工组

Rank: 9

积分
1052
贡献
1052
金币
5808

E·怠工组天野远子·Epub组纪念章

发表于 2021-1-17 11:55:52 | 显示全部楼层
反正低头就对了.jpg
我这边用ps,毕竟有时还要修图(
ps也有批量操作 还行吧
回复 支持 反对

使用道具 举报

8

主题

133

帖子

688

积分

小书痴

Rank: 3

积分
688
贡献
688
金币
13
发表于 2021-1-17 12:08:42 | 显示全部楼层
看呆了 向大佬献上膝盖
回复 支持 反对

使用道具 举报

1

主题

481

帖子

1300

积分

小书痴

Rank: 3

积分
1300
贡献
1300
金币
9802
发表于 2021-1-17 13:27:03 | 显示全部楼层
膜拜大神,我都是直接把png直接改成jpg
同问,有没批量去水印的方法,手残党用ps好慢
回复 支持 反对

使用道具 举报

3

主题

1148

帖子

3833

积分

吃书妖怪

Rank: 5Rank: 5Rank: 5

积分
3833
贡献
3833
金币
1293
发表于 2021-1-17 18:40:07 | 显示全部楼层
时差党 发表于 2021-1-16 22:19
有没有批量去水印的(逃)

去水印是不可能去水印的:),自动去水印只会毁图,如果水印都在统一位置空白处还好,不然只能手动去.....批量替换图源还比较现实....
回复 支持 反对

使用道具 举报

61

主题

3806

帖子

4409

积分

版主

Rank: 10Rank: 10

积分
4409
贡献
4409
金币
5461

版主御守

发表于 2021-1-17 19:46:51 | 显示全部楼层
娼姬 发表于 2021-1-17 18:40
去水印是不可能去水印的,自动去水印只会毁图,如果水印都在统一位置空白处还好,不然只能手动去..... ...

自己画呗哈哈哈哈哈哈...
回复 支持 反对

使用道具 举报

25

主题

329

帖子

1645

积分

图书委员

Rank: 4Rank: 4

积分
1645
贡献
1645
金币
88
发表于 2021-1-17 23:10:32 | 显示全部楼层
哇大神!
我一直靠ffmpeg走天下(并没有
哎说起来去水印我都只能靠ps手动
练得一手嵌字修图的好本领(x)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|ritdon

GMT+8, 2024-11-22 18:03 , Processed in 0.219821 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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