【发布时间】:2010-04-17 19:51:26
【问题描述】:
如何将图像(.png 文件)中的像素转换为整数数组,其中每个像素都转换为其等效的 ARGB 整数?顺便说一下,不是二维整数数组,而是一维数组(通过数组[row*width+col]访问)。
谢谢。
【问题讨论】:
-
如果你真的想在没有第三方库的情况下做到这一点,你会想成为 PNG 规范的好朋友:w3.org/TR/PNG。看完(及相关资料),这只是编程的小事。
-
我劝你不要靠近精神病院,否则会被卡住。
-
@jweyrich,你是什么意思? @James,谢谢,我去看看。
-
@jonathanasdf 我只是在开玩笑。不使用 libpng 或其他库来解压缩图像是疯狂的。例如,libpng 会给你一个缓冲区[width * height * channels]。
-
如果你想尝试基本的图像处理,你可以尝试使用 PBM 格式——它本质上是以一种非常简单的方式写出的原始未压缩像素数据,带有一些标题数据,所以它是微不足道的从代码中自己读/写图像。查找 IrfanView 作为该格式的图像查看器(以及阳光下的所有其他内容!)。 netpbm.sourceforge.net/doc/pbm.html
标签: c++ image argb pixel-manipulation