标题:png格局的图片如何样压缩,请求压缩后格局不变主页 > 超级试驾员 >

png格局的图片如何样压缩,请求压缩后格局不变

admin2020-03-31 02:22:21147人围观

  png图片的压缩与解压缩

  在J2ME平台上PNG图片格局简直成了规范,有数台手持装备上运转的J2ME依次简直都选用PNG来显示图象,包罗少量的手机游戏和手机应用,所以对PNG文件格局的了解,可以更有效的增加Jar Size,保护自有常识产权。

  。

  用来刻画图象的基本信息,其格局为:

  图象宽: 4byte

  图象高: 4byte

  图象色深: 4byte

  色彩类型: 1byte

  压缩方法: 1byte

  滤波方法: 1byte

  扫描方法: 1byte

  曾经有人问过我,撒叫滤波方法和扫描方法,汗,撒谎话我也不知道,不外我们是在做手机游戏,不是在弄图形学不是嘛。

  PLTE块:

  这个就是传说中放置调色盘数据的中央啦,其格局为:

  轮回

  RED: 1byte

  GREEN:1byte

  BLUE: 1byte

  END

  轮回长度嘛,不就是Chunk Length / 3的长度嘛,而且Chunk Length必然为3的倍数。

  tRNS块:

  这个块时有时无,主如果看你可否应用了透明色。该区块的格局为:

  轮回

  if(对应调色盘色彩非透明)

  0xFF: 1byte

  else

  0x00: 1byte

  END

  轮回长度为调色盘的色彩数,相当于调色盘色彩表的一个对应表,标识该色彩可否透明,0xFF不透明,0x00透明。故假设用UltraEdit检查PNG文件的二进制编码,假设看到一大年夜片FF,通俗就是tRNS区块啦,因为一个PNG文件通俗只要一个透明色。

  IDAT块:

  这个就是寄存图象数据的中央啦,这里要留心的是一个PNG文件能够有多个IDAT区块,而其他三大年夜区块只能够有一个。

  IDAT 区块是经过压缩的,所以数据不成读,压缩算法通俗为LZ77滑动窗口算法,假设硬要看外面的数据的话,用zlib库也是可以的,CoCoMo昔时就见过 Windows Mobile上的帝国时代剧掉常的用zlib库压缩和解压该区块来进一步增加PNG文件大年夜小,真是寸K寸金啊。

  PLTE块:最多128个色彩,为撒要用4byte来记录区块长度而不是用1byte来记录色彩数呢?

  tRNS块:既然有色彩数,tRNS又是调色盘色彩表的对应表,既数量与色彩数相反,为撒还需求呢?

  IDAT块:我想这个是唯一需求4byte来记录长度的区块。

  Level5:每个区块的Chunk CRC可否需求呢?

  因为计算CRC需求一些时间,但关于字节较少的区块通俗可以疏忽不计,所以关于这个后果照样由依次员自己决定吧。关于CRC的计算可以参看CoCoMo的另外一篇Blog“PNG文件的CRC码计算”

上一篇:ie主页修复【补救技能】

下一篇:没有了