博客里有几篇关于png格式的,结合它们可以对png进行压缩加密了。
而实际上加密以后,或者修改格式(修改后在程序里加载时再转成正确格式)并不利于与美术交流。
其实加密也是相对的,总有办法被破解(哪怕gameloft的图片加密方式)。
这里提供一个方法,很简单的压缩,不用任何png格式信息。
用jdk 里的ImageIO读些图片
BufferedImage bi = new ImageIO.read("pngfile");
int[] argb = bi.getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
再new 一个BufferedImage newBi.
newBi setRGB(。。。argb)
完用ImageIO.write得到一张新图片搞定。
你可以用Ultraedit看看,这图片有多简单。
这样就直接可以给美术交流了
从格式上讲,会去掉一些无用数据,像gAMA块数据等
但是如果图片颜色数量如果小于128,比如64,用这方法图片反而可能变大了