阅读(1631) (0)

Pillow 位解码器

2021-07-12 15:20:26 更新

如果原始解码器无法处理您的格式,PIL还提供了一个特殊的“位”解码器,可用于将各种打包格式读取到浮点图像内存中。

使用位解码器 ​PIL.Image.frombytes()​ 函数,请使用以下语法:

image = Image.frombytes(

    mode, size, data, "bit",

    bits, pad, fill, sign, orientation

    )

在tile描述符中使用时,参数字段应如下所示:

(bits, pad, fill, sign, orientation)

字段使用如下:

bits

每像素位数 (2-32)。没有默认。

pad

行之间的填充,以位为单位。如果没有填充,则为 0,如果行填充为完整字节,则为 8。如果省略,填充值默认为 8。

fill

控制如何将数据添加到解码器位缓冲区和从解码器位缓冲区存储数据。

fill=0

将字节添加到解码器缓冲区的 LSB 端;存储来自 MSB 端的像素。

fill=1

将字节添加到解码器缓冲区的 MSB 端;存储来自 MSB 端的像素。

fill=2

将字节添加到解码器缓冲区的 LSB 端;存储来自 LSB 端的像素。

fill=3

将字节添加到解码器缓冲区的 MSB 端;存储来自 LSB 端的像素。

如果省略,填充顺序默认为 0。

sign

如果非零,位字段是符号扩展的。如果为零或省略,位域是无符号的。

orientation

图像中的第一行是屏幕上的顶行 (1) 还是底行 (-1)。如果省略,则方向默认为 1。