站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题极限压缩JAR包中的图片

极限压缩JAR包中的图片

摘要: 极限压缩JAR包中的图片
<tr><td>

[本文章最后由 rocks 在2006-07-12 01:36:12编辑过]

http:///tech/article2309.html
下载shrink.rar


PngMate不仅仅是一个功能实用的Png和动画gif图片处理工具,它最大的特点和优势就是,能够极限压缩Png图片,这点PngMate比其它压图工具都要强。为了让大家更方便的压缩Jar包中的所有png图片,我写了一个批处理脚本,此脚本能够自动把你的Jar包中的图片重新用PngMate压缩,如果你已经在使用PngMate处理图片了,那么这个脚本不会有什么效果。如果你以前用的不是PngMate,而是PhotoShop,FireWorks,ImageOptimizer等,那么这个脚本可能使你的JAR包缩小一点,从几十字节到几K字节不等。
注意,这个脚本有以下限制:
1 JAR包中的Png图片必须是格式规范的、以.png为后缀的png图片,如果虽然后缀是.png,但图片却不是png格式,或者格式不规范是不可以的
[]2 JAR包中除了.png之外的文件都不会受影响,因此,对包含png图片的打包数据文件,或是后缀不是.png但实际是png图片的文件,本脚本不会处理
3 如果JAR包中包含32位真彩色png图片(比如,为了实现半透明效果),那么此脚本会把该图片变成256色索引色图片,这种情况不要使用本脚本

如果你的JAR包因为上面列出的原因不能使用此脚本,请不要灰心,因为这个脚本只是简单的把jar包打开,对.png后缀的文件批量用pngmate压缩了一下而已,我推荐你在开发工作中按照自己的实际需求来使用pngmate压缩图片,这样能够使用到PngMate更多更强大的功能,比如,靠降低颜色数来进一步压缩图片。

批处理脚本shrink.bat的使用方法很简单,有几种不同的方式。
首先你要保证PngMate.exe在环境变量PATH中的某个路径中(我通常把pngmate.exe放在C:\Windows目录下面),也就是,在命令行窗口直接输入PngMate就可以找到并运行它,然后你可以:
1 直接把一个jar拖到shrink.bat这个文件上,脚本就会自动对其进行处理,并生成一个叫myapp_shrinked.jar的新jar文件
2 首先保证shrink.bat在你的PATH环境变量中的某个路径中(比如:windows目录)。打开一个命令行窗口,输入shrink myapp.jar myapp_new.jar,就可以对myapp.jar进行压缩,生成一个新的叫myapp_new.jar的文件,如果省略后面的输出jar名,就会自动生成一个叫myapp_shrinked.jar的jar包

[]另外,附件中的jar包中的PngMate.exe是最新版本哦,支持任意指定压缩级别。

批处理脚本文件shrink.bat的内容:
@echo off
setlocal
set IN_JAR=%~nx1
[]set OUT_JAR=%2
pushd %~dp1
if '%OUT_JAR%'=='' set OUT_JAR=%~n1_shrinked.jar
set SHTMP=shrinktmp
if exist %SHTMP% rd /s/q %SHTMP%
md %SHTMP%
cd %SHTMP%
jar xf ..\%IN_JAR%
echo 正在压缩图片,请稍候……
for /r %%I in (*.png) do pngmate "%%I"
[]jar cfm ..\%OUT_JAR% META-INF\manifest.mf *.*
cd ..
rd /s/q %SHTMP%
popd
endlocal


下载shrink.rar
http:///tech/article2309.html
</td></tr></table></td> </tr> <tr> <td background="/pic/split.gif" height=1></td> </tr> <tr> <td class="tdMargin1">
↑返回目录
前一篇: 用J2ME收发短信 -- Wireless Messaging API
后一篇: 手机游戏盗版现象的深入分析及对策