【发布时间】:2011-10-16 23:41:18
【问题描述】:
是否有可用的图像库允许用户从已加载到磁盘上的 png 文件中提取像素而无需解压缩?
所以我有 100k 8bit 大小为 512x512 的图像,其中每个 png 格式的图像约为 10kb。这意味着我只需要 1GB 的 RAM 就可以在运行时为我正在编写的程序存储所有图像。
是否可以有效地从这样的图像中检索像素?
IE。假设我有一个数组 images,其中 images[i] 引用了一个已加载但未解压缩到 RAM 的 png 图像(加载 png 图像时会发生这种情况吗?)
那么理想情况下,我想写一些类似
的东西pixel = images[i].getPixel(x,y);
有人知道这是否可能吗?哪个图书馆?我的假设在哪里是错误的?
【问题讨论】:
-
“从已加载到磁盘上的 png 文件中提取像素而不解压缩它”怎么可能做到这一点?
-
解压是指创建一个 512x512 字节的数组。我很确定可以从图像中提取单个像素值而不提取整个图像,但也许我弄错了。
-
我很确定你不应该解压缩整个东西。 PNG 使用 zlib 压缩,因此最坏的情况是您需要解压缩前面的数据。