【发布时间】:2016-02-19 15:38:30
【问题描述】:
像素按顺序存储在 PNG 中(在 2 种变体中 - 原始和 Adam 隔行扫描)。有 RFC 2083,它描述了这些布局的变体。我想了解如何将流中的像素位置转换为位图中的位置。
有一些障碍 - 序号取决于图像的尺寸(在隔行扫描模式下,可以跳过一些像素,因为它们超出了界限)。
这个怎么实现清晰,或者有现成的实现吗?
【问题讨论】:
-
你想做什么?如果您尝试直接读取 png 文件,它不是像素数据,它是经过压缩和编码的,在解压缩和解码后,您将获得像素数据,所有这些都可以自动为您完成,只需使用 Image.FromFile ...
-
你在搞混东西,你在帮助中指出的类不像读取 png 那样做,它需要一个 已经加载 png 并对其进行操作。同样,读取 PNG 不仅仅是读取像素数据的问题,它是 LZH 压缩和 RLE 编码的,最好采用托管的预制类而不是自己做,比如 pngcs 已经返回像素数据
-
我正在询问如何使用 pngcs 中的像素在位图上绘图
-
pngcs 将为我解决您上面描述的所有问题。我只需要用这些像素填充 Bitmap 对象