0

如何显示png(通常是.bmp旁边的图像)获取特定像素(x,y)的深度,颜色(r,g,b)以及如何精确更改一个像素然后保存图像。我找不到任何简单的例子。请出示任何样品

没有第 3 方库,请。

4

2 回答 2

2

PNG格式比较简单,但没有BMP那么简单。一方面,它包括 ZLIB 压缩。要对其进行编码/解码,您需要使用像libpng这样的 PNG 库和zlib库。如果您不想使用“第三方”库(仅使用标准库),则需要编写大量代码;您将几乎结束重写 libpng/zlib 库;我怀疑你真的想这样做。

我自己用 Java/C# ( PNGJ ) 编写了一个 PNG 编码器/解码器,但我依赖于外部 ZLIB 库(它包含在标准 Java JRE 中)

于 2012-11-19T14:52:05.737 回答
2

请注意,C++ 不是 Java 或 Python 之类的。C++ 内部库主要关注原始数据处理,并将更具体的功能留给第三方。这就是C++(和 C,也是)的概念。

因此,要求 PNG 的“纯内部”实现(或“通常是 .bmp 旁边的图片”)是非常愚蠢的。对于每种特定的图片格式,您需要不同的功能,通常包括解压缩,并且由于用于该特定目的的第三方库很容易获得,因此要求人们重新实现它们有点……奇怪。

于 2012-11-19T14:58:40.623 回答