首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PNG IDAT块数据计算

PNG IDAT块数据计算
EN

Stack Overflow用户
提问于 2022-06-20 00:44:34
回答 1查看 125关注 0票数 0

我正在努力学习,建议用c语言编写我自己的png文件。我已经阅读了PNG文件格式规范,现在我能够编写一个基本的PNG(签名、IHDR块、1px-IDAT块和IEND块)。但是现在我想在PNG中写入一个像素数组,所有块都是okk,但我不知道如何生成IDAT数据块。在libPNG文档中,他们解释为缩小()扫描线,前面是filer字节方法。

我对这个问题的理解是:

scanline是一个水平像素数组,前面是filter方法(0),然后是大小:(3*屏幕宽度+ 1)对于每一行(screenHeight值),我用zlib压缩() scanline并将其存储在文件中。

但是在生成png之后,它总是黑色的,十六进制编辑器中的值总是0。

我做错什么了?还是生成IDAT数据值的好方法?

EN

回答 1

Stack Overflow用户

发布于 2022-06-20 03:30:30

你没有在你的问题中输入任何代码,所以我们无法知道你到底在做什么。“我用zlib压缩() scanline并将其存储在一个文件中。”听起来不对。您需要按照描述的方式组装所有的扫描线,然后使用zlib压缩整个过程一次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72681236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档