Pngbest.bat
- Dette indlæg indeholder 24 kommentarer, har 16 deltagere og blev senest opdateret af
Anonym for 6 år, 3 måneder siden.
- Emne
Jeg ville lige dele frugten at mit batch roderi
Dette er en PNG optimiserings scripts der kore multithreaded og med valgbar styrke
PNGbest Fil.png
Styrken er optinalt og uden en vardi defaulter den til 15 for et stadie og 0 for et andet.
et andet ret smukt punkt er at den skippe den mest langsomme part hvis den selv finder ud af det nok ikke vil hjaelpe
Foelgende filer skal bruges til batchen
PNGwolf (zopfli versionen)
PNGout
Huffmix
Deflopt
Defluff@echo OFF
set strenght=%2
if “%2″==”” set strenght=15
set RandIt=0
set /a RandIt=(%2/%NUMBER_OF_PROCESSORS%)
set /a TotalIt=%RandIt%”*%NUMBER_OF_PROCESSORS%ECHO — SvenBent’s PNGbest is optimizing your PNG file
ECHO CPU threads: %NUMBER_OF_PROCESSORS%
ECHO Zopfli compression strenght: %strenght%
ECHO Random initial tables : %TotalIt%
if “%3″==”brutal” ECHO Extended brute force: Enabled (not supported)
if “%3″==”mixing” ECHO Mixing only mode: Enabled
if “%3″==”pal” ECHO Expanding palette size: Enabled (use for less than 8bits pallette images)
ECHO File: %1
ECHO Size: %~z1if “%3″==”mixing” Goto Mixing
ECHO — PNGwolf-Zopfli —
pngwolf –in=%1 –out=%1 –zopfli-iterations=%strenght%set wolfsize=%~z1
ECHO — Finding optimal filter —
for %%f in (6,0,1,2,3,4,5) do pngout %1 /f%%f /d0
if “%3″==”pal” for %%f in (6,0,1,2,3,4,5) do pngout %1 /f%%f /d8ECHO — Block split threshold —
for %%b in (64,96,128,192,384,512,768,1024,1536,2048,3072,4096,8192,16384,0) do pngout %1 /f6 /b%%bif “%~z1″==”%wolfsize%” goto norandom
if “%2″==”” goto norandom:Mixing
ECHO — Random initial tables and mixing blocks —echo @echo OFF >%1.pngmix.bat
echo for /l %%%%r in (1,1,%RandIt%) do ( >>%1.pngmix.bat
echo ECHO — Trial: %%%%r of %RandIt% — >>%1.pngmix.bat
echo pngout %1.thread.%%1.png %1.tmp.%%1.png /r /force /f6 /kp >>%1.pngmix.bat
echo Deflopt /b /s %1.tmp.%%1.png >>%1.pngmix.bat
echo huffmix %1.thread.%%1.png %1.tmp.%%1.png %1.thread.%%1.png >>%1.pngmix.bat
echo del %1.tmp.%%1.png >>%1.pngmix.bat
echo ) >>%1.pngmix.bat
echo del %1.%%1.tag >>%1.pngmix.bat
echo exit >>%1.pngmix.batfor /l %%t in (1,1,%NUMBER_OF_PROCESSORS%) do (
Copy %1 %1.thread.%%t.png
echo tag > %1.%%t.tag
start “Thread%%t” %1.PNGmix.bat %%t
)ECHO Waiting for threads to close
:keepwait
timeout 1 >nul
if exist %1.?.tag goto keepwait
if exist %1.??.tag goto keepwait
if exist %1.???.tag goto keepwait
if exist %1.????.tag goto keepwaitECHO — Final mixing stage —
for /l %%t in (1,1,%NUMBER_OF_PROCESSORS%) do (
huffmix %1 %1.thread.%%t.png %1
del %1.thread.%%t.png
)
del %1.pngmix.bat:norandom
ECHO — Optimizing deflate structure —
deflopt /b %1
defluff < %1 >%1.fluff.png
deflopt /b %1.fluff.png
huffmix %1 %1.fluff.png %1
deflopt /b %1
del %1.fluff.pngSven Bent - Dr. Diagnostic
www.TechCenter.DK
- Du skal være logget ind for at kommentere på dette indlæg.
























