查看: 2600|回复: 4

[已经解决] 有对png格式了解的么?IDAT段内的len怎么算?

[复制链接]
梦石
0
星屑
50
在线时间
130 小时
注册时间
2010-6-26
回帖
369

第5届短篇游戏比赛季军

发表于 2011-10-1 12:53:50 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 尘羽泯 于 2011-10-1 16:43 编辑

请问png格式图片IDAT数据块中的len具体怎么算?不是索引模式的图片,是RGBA数据流,知道图片的宽度和高度,知道RGBA数据。len怎么算呢?IDAT的前三个字节固定,然后是len和nlen,nlen就是len的补码(其实我一想到这个就觉得脑残,浪费了2个字节不说还影响计算效率,而且后面已经有Adler和CRC双重校验了)。那么len是怎么算的呢?一张59*126的RGBA图片,打开一看IDAT段内的len是237,跟59和126似乎找不到什么关系嘛。
Fijoy游戏引擎:http://www.fijoy.com/
头像被屏蔽
梦石
0
星屑
50
在线时间
27 小时
注册时间
2011-9-25
回帖
28
发表于 2011-10-1 15:24:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
130 小时
注册时间
2010-6-26
回帖
369

第5届短篇游戏比赛季军

 楼主| 发表于 2011-10-1 16:06:37 | 显示全部楼层
Remainfree 发表于 2011-10-1 15:24
禁止重贴:http://zhidao.baidu.com/question/325177475.html
                  http://tieba.baidu.com/f ...

你牛×  - -b、、、
Fijoy游戏引擎:http://www.fijoy.com/
回复

使用道具 举报

CHAOS

梦石
0
星屑
92
在线时间
244 小时
注册时间
2005-11-4
回帖
3418

贵宾

发表于 2011-10-1 17:42:41 | 显示全部楼层
楼主加油吧,虽然我觉得研究这个没什么用。嘛……不过能搞懂一个别人不懂的东西,何乐而不为呢?
梦想世界,在你伸手!
回复

使用道具 举报

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
回帖
6005

烫烫烫开拓者

发表于 2011-10-2 20:05:33 | 显示全部楼层
本帖最后由 yangff 于 2011-10-2 20:08 编辑

sizeof(Zlib(data).length).pack("N")
如果你说的是png_idat段的header(\x49\x44\x41\x54)前面那玩意的话……
哎呀,蛋疼什么的最有爱了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部