这是另一种命令行解决方案,但适用于Windows。
它需要安装winrar(编辑set winrar行以指向winrar安装)。
它还需要安装imagemagick并在命令行中添加其路径。
最后一个建议是我建议在首次打开Eclipse(即全新安装)之前运行此程序。有些图标会自动从jar中解包,并保存在eclipse / configuration / org.eclips.osgi / ...(可能在其他文件夹中),并且编辑.jar文件可防止图标被调整大小。您可能可以删除此文件夹,并且它可能会再次自动提取,但我无法确认。
要运行,只需在eclipse / plugins目录中创建一个doubler.bat文件,它将小于32x32的任何图标调整为该比例大小。
这是代码:
@echo off
set winrar="C:\Program Files\WinRAR\winrar.exe"
set startpath=%~dp0
::All *.jar in this folder
FOR %%G in (*.jar) do (call :EachJar "%%G")
GOTO :eof
:EachJar
::echo %1
set nameWOQuotes=%~1
mkdir "tmp\%nameWOQuotes%"
::copy "%nameWOQuotes%" "tmp\%nameWOQuotes%.bak" >NUL
%winrar% x -inul "%nameWOQuotes%" *.jpg *.gif *.png *.tif *.tiff "tmp\%nameWOQuotes%\"
::pause
cd "tmp\%nameWOQuotes%"
FOR /R .\ %%H in (*.jpg *.gif *.png *.tif *.tiff) do (
::echo %nameWOQuotes%-%%~nxH >> "%startpath%\output.txt"
identify "%%H" >> "%startpath%\output.txt"
convert "%%H" -resize 32x32^< "%%H" )
%winrar% a -r -u "%startpath%\%nameWOQuotes%" "*"
cd "%startpath%"
rmdir /s /q "tmp\%nameWOQuotes%"
Goto :eof
它会创建文件output.txt,并在转换之前插入所有原始图像元数据,而不管其大小是否更改。