枕头中有两个截然不同的概念,它们的名称容易混淆:
“模式”
这些列在https://pillow.readthedocs.io/en/latest/handbook/concepts.html#modes中 。
根据那些文档:
图像的模式定义图像中像素的类型和深度。
这种“模式”的是什么是通过暴露的Image
的.mode
属性,可以通过改变.convert()
方法,并且可以被传递给取方法mode
参数。它们与“原始模式”不同。
“原始模式”
这些由原始解码器在内部使用, 原始解码器将来自图像文件的未压缩数据转换为PIL Image
对象可以理解的格式。 “原始模式”比“模式”多好几倍,它们不仅传达有关图像中像素的类型(彩色或灰度)和位深的信息,而且还传达有关文件中其布局的信息。例如,原始模式RGB;L
被记录为意思是“ 24位真彩色,行交错(首先是所有红色像素,然后是所有绿色像素,最后是所有蓝色像素)”。
如上面链接的文档所述(以及旧的PIL文档中所述 ),可以在Unpack.c
找到原始模式的列表。您会在文件末尾找到该列表。
从Pillow的当前主分支中Unpack.c
: https : //github.com/python-pillow/Pillow/blob/master/src/libImaging/Unpack.c
从PIL的最终版本中Unpack.c
: http : Unpack.c
0
查看PIL(并与此问题有关 ),在哪里可以找到图像模式的完整列表?我看到“ RGB”,“ RGBX”,我的代码以某种方式具有“ BGRX”,即使在我看到的PIL文档中也没有提及。例如,当与Windows API调用进行交互时,如何查看哪个是哪个,PIL支持什么以及应该选择哪种适当的模式?
基本上,我对图像模式知之甚少,并且我想学习更多,而不只是输入什么字母才能使它神奇地工作。