libpng手册中的像素大小指的是什么?

问题描述 投票:0回答:1

来自 libpng 的文档


如果您提前知道图像大小和像素大小,则可以在调用 png_read_png() 之前使用

分配 row_pointers
   row_pointers = png_malloc(png_ptr,
      height*sizeof(png_bytep));
   for (int i=0; i<height, i++)
      row_pointers[i]=png_malloc(png_ptr,
         width*pixel_size);
   png_set_rows(png_ptr, info_ptr, &row_pointers);

但是 libpng 文档中的其他任何地方都没有提到术语“像素大小”。我很好奇它是什么意思以及它是如何计算的。

c++ libpng
1个回答
0
投票

指的是每个像素用多少字节来表示。例如。 3 个用于 RGB,4 个用于 RGBA,1 个用于 8 位灰度或调色板颜色等

显示的计算对于小于一字节的像素大小是不正确的。灰度类型允许每个像素 1、2 和 4 位,在这种情况下,行的大小需要向上舍入到容纳它所需的字节数。

© www.soinside.com 2019 - 2024. All rights reserved.