博客裏有幾篇關於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,用這方法圖片反而可能變大了