JR 精品文章 - PNG图片处理(Java版)
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » J2SE综合 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
PNG图片处理(Java版)
Jagie 原创   更新:2008-05-17 21:27:19  版本: 1.0   

概述

本文所说的PNG图片处理,是指使用程序,剔除掉PNG文件中的非关键数据段,从而达到压缩文件大小的目的。

PNG文件结构简述(参见:http://www.ismyway.com/png/png-struct1.htm

PNG文件由多个数据块组成。每个数据块结构如下:

这些数据块中,有些是关键数据块,即每个PNG文件都必须包含的数据块.还有些数据块为可选数据块,也就是说可以视情况剔除的数据块。关键数据块包含以下这些:

本来tRNS是非关键数据块,但是因为保留PNG文件的透明特性通常来说比较重要,所以在本文中,把tRNS也作为一个关键数据块来处理。

程序处理流程

本文介绍的压缩程序,是指剔除特定文件夹下(包括子目录)中所有PNG文件的非关键数据块,只保留表2中的关键数据块,从而达到压缩的目的。本来,笔者还实现了另外一个版本,就是把所有压缩后的PNG,合并到一个二进制文件中,并且在该二进制文件头部,加上索引信息,指出各个压缩后的PNG文件的路径,偏移量和长度。这样做,虽然能在一定程度上维护各个图片文件的保密性,但是因为在J2ME程序中,在一个大文件中反复做seek操作的效率并不高,这反而有点画蛇添足。所以这个版本就被丢弃了。如果你确实要这么做,你可以把本程序处理后的PNG文件再打包成类似的二进制文件。

代码下载

关于此程序的完整源代码,请从这里下载。

如何运行

该程序为控制台程序,只需在控制台窗口执行jar即可,以下为运行截图:

作者信息

Jagie,移动开发爱好者,可以通过chen_cwf@163.com与他联系。 
本文来源于Jagie的google page:http://chencwf.googlepages.com/png_compress

版权声明   给作者写信
本篇文章对您是否有帮助?  投票:         投票结果:     9       0
作者其它文章: 作者全部文章
评论人:challengehope 发表时间: Sun May 18 19:57:00 CST 2008
谢谢了
代码学习中...
评论人:fgt___73 发表时间: Fri May 30 15:20:43 CST 2008
[:)]

这个文章共有 2 条评论
主题: 表达式计算: 分析与设计2(增加boolean表达式的实现) 上一篇文章
返回文章列表 返回〔J2SE综合〕
下一篇文章 主题: XML+正则表达式+反射+脚本引擎 实现简单的业务可配


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号