PIL包(剩余模块的自动锁定)

对于文档尚未移植或编写的模块,可以在此处找到参考。

BdfFontFile 模块

class PIL.BdfFontFile.BdfFontFile(fp)[源代码]

基类:PIL.FontFile.FontFile

PIL.BdfFontFile.bdf_char(f)[源代码]

ContainerIO 模块

class PIL.ContainerIO.ContainerIO(file, offset, length)[源代码]

基类:object

isatty()[源代码]
read(n=0)[源代码]

读取数据。

参数

n -- 要读取的字节数。如果省略或为零,则读取直到区域结束。

返回

8位字符串。

readline()[源代码]

阅读一行文字。

返回

8位字符串。

readlines()[源代码]

阅读多行文本。

返回

8位字符串的列表。

seek(offset, mode=0)[源代码]

移动文件指针。

参数
  • offset -- 偏移量(字节)。

  • mode -- 开始位置。区域开始使用0,当前偏移使用1,区域结束使用2。不能将指针移动到定义区域之外。

tell()[源代码]

获取当前文件指针。

返回

从区域开始的偏移量,以字节为单位。

FontFile 模块

class PIL.FontFile.FontFile[源代码]

基类:object

bitmap = None
compile()[源代码]

创建度量和位图

save(filename)[源代码]

保存字体

PIL.FontFile.puti16(fp, values)[源代码]

GdImageFile 模块

class PIL.GdImageFile.GdImageFile(fp=None, filename=None)[源代码]

基类:PIL.ImageFile.ImageFile

format = 'GD'
format_description = 'GD uncompressed images'
PIL.GdImageFile.open(fp, mode='r')[源代码]

从gd图像文件加载纹理。

参数
  • filename -- gd文件名或打开的文件句柄。

  • mode -- 可选模式。在这个版本中,如果给出了模式参数,那么它必须是“r”。

返回

图像实例。

引发

IOError -- 如果无法读取图像。

GimpGradientFile 模块

class PIL.GimpGradientFile.GimpGradientFile(fp)[源代码]

基类:PIL.GimpGradientFile.GradientFile

class PIL.GimpGradientFile.GradientFile[源代码]

基类:object

getpalette(entries=256)[源代码]
gradient = None
PIL.GimpGradientFile.curved(middle, pos)[源代码]
PIL.GimpGradientFile.linear(middle, pos)[源代码]
PIL.GimpGradientFile.sine(middle, pos)[源代码]
PIL.GimpGradientFile.sphere_decreasing(middle, pos)[源代码]
PIL.GimpGradientFile.sphere_increasing(middle, pos)[源代码]

GimpPaletteFile 模块

class PIL.GimpPaletteFile.GimpPaletteFile(fp)[源代码]

基类:object

getpalette()[源代码]
rawmode = 'RGB'

ImageDraw2 模块

class PIL.ImageDraw2.Brush(color, opacity=255)[源代码]

基类:object

class PIL.ImageDraw2.Draw(image, size=None, color=None)[源代码]

基类:object

arc(xy, start, end, *options)[源代码]
chord(xy, start, end, *options)[源代码]
ellipse(xy, *options)[源代码]
flush()[源代码]
line(xy, *options)[源代码]
pieslice(xy, start, end, *options)[源代码]
polygon(xy, *options)[源代码]
rectangle(xy, *options)[源代码]
render(op, xy, pen, brush=None)[源代码]
settransform(offset)[源代码]
text(xy, text, font)[源代码]
textsize(text, font)[源代码]
class PIL.ImageDraw2.Font(color, file, size=12)[源代码]

基类:object

class PIL.ImageDraw2.Pen(color, width=1, opacity=255)[源代码]

基类:object

ImageShow 模块

class PIL.ImageShow.DisplayViewer[源代码]

基类:PIL.ImageShow.UnixViewer

get_command_ex(file, **options)[源代码]
class PIL.ImageShow.EogViewer[源代码]

基类:PIL.ImageShow.UnixViewer

get_command_ex(file, **options)[源代码]
class PIL.ImageShow.UnixViewer[源代码]

基类:PIL.ImageShow.Viewer

format = 'PNG'
get_command(file, **options)[源代码]
options = {'compress_level': 1}
show_file(file, **options)[源代码]

显示给定文件

class PIL.ImageShow.Viewer[源代码]

基类:object

观众的基类。

format = None
get_command(file, **options)[源代码]
get_format(image)[源代码]

返回格式名,或不保存为PGM/PPM

options = {}
save_image(image)[源代码]

保存到临时文件,并返回文件名

show(image, **options)[源代码]
show_file(file, **options)[源代码]

显示给定文件

show_image(image, **options)[源代码]

显示给定图像

class PIL.ImageShow.XVViewer[源代码]

基类:PIL.ImageShow.UnixViewer

get_command_ex(file, title=None, **options)[源代码]
PIL.ImageShow.register(viewer, order=1)[源代码]
PIL.ImageShow.show(image, title=None, **options)[源代码]

显示给定图像。

参数
  • image -- 图像对象。

  • title -- 可选标题。并非所有的浏览者都能显示标题。

  • **options -- 其他查看器选项。

返回

如果找到合适的查看器,则为true,否则为false。

ImageTransform 模块

class PIL.ImageTransform.AffineTransform(data)[源代码]

基类:PIL.ImageTransform.Transform

定义仿射图像转换。

这个函数接受一个6元组(a、b、c、d、e、f),其中包含来自仿射变换矩阵的前两行。对于输出图像中的每个像素(x,y),从输入图像中的一个位置(a x+b y+c,d x+e y+f)获取新值,四舍五入到最近的像素。

此功能可用于缩放、平移、旋转和剪切原始图像。

transform()

参数

matrix -- 包含仿射变换矩阵前两行的6元组(A、B、C、D、E、F)。

method = 0
class PIL.ImageTransform.ExtentTransform(data)[源代码]

基类:PIL.ImageTransform.Transform

定义转换以从图像中提取子区域。

将一个矩形(由两个角定义)从图像映射到给定大小的矩形。生成的图像将包含从角点之间采样的数据,这样输入图像中的(x0,y0)将在输出图像中结束于(0,0),而(x1,y1)将在大小上结束。

此方法可用于裁剪、拉伸、收缩或镜像当前图像中的任意矩形。它比裁剪稍慢,但大约和相应的调整大小操作一样快。

transform()

参数

bbox -- 一个4元组(X0、Y0、X1、Y1),指定输入图像坐标系中的两个点。见 坐标系 .

method = 1
class PIL.ImageTransform.MeshTransform(data)[源代码]

基类:PIL.ImageTransform.Transform

定义网格图像转换。网格变换由一个或多个单独的四元变换组成。

transform()

参数

data -- (bbox,quad)元组的列表。

method = 4
class PIL.ImageTransform.QuadTransform(data)[源代码]

基类:PIL.ImageTransform.Transform

定义四图像转换。

将图像中的四边形(由四个角定义的区域)映射到给定大小的矩形。

transform()

参数

xy -- 一个8元组(X0、Y0、X1、Y1、X2、Y2、X3、Y3),包含源四边形的左上角、左下角、右下角和右上角。

method = 3
class PIL.ImageTransform.Transform(data)[源代码]

基类:PIL.Image.ImageTransformHandler

getdata()[源代码]
transform(size, image, **options)[源代码]

JpegPresets 模块

相当于Photoshop设置的jpeg质量设置。

如果需要,可以在预设听写中添加更多预设。

可以在保存jpeg文件时使用。

要应用预设,请指定:

quality="preset_name"

仅应用量化表:

qtables="preset_name"

仅应用子采样设置:

subsampling="preset_name"

例子::

im.save("image_name.jpg", quality="web_high")

子采样

次采样是通过对色度信息的分辨率低于对luma信息的分辨率来对图像进行编码的一种实践。(参考:https://en.wikipedia.org/wiki/chroma_subsampling

可能的次采样值为0、1和2,对应于4:4:4、4:2:2和4:2:0。

您可以使用 JpegImagePlugin.get_sampling(im) 功能。

在JPEG压缩数据中,使用JPEG标记代替EXIF标记。(参考:https://www.exiv2.org/tags.html

量化表

它们是DCT(离散余弦变换)用来删除的值 unnecessary 来自图像的信息(压缩的有损部分)。(参考:https://en.wikipedia.org/wiki/Quantitation-Matrix Quantitation-Matrics,https://en.wikipedia.org/wiki/jpeg Quantitation)

您可以通过以下方式获得jpeg的量化表:

im.quantization

这将返回带有多个数组的dict。保存jpeg时,可以将此dict直接作为qtables参数传递。

预设中im.量化和量化之间的表格格式有三种不同:

  1. 预设的基本容器是一个带有子列表而不是dict的列表。dict[0]->list[0],dict[1]->list[1],…

  2. 预设中的每个表都是列表而不是数组。

  3. 在预设中删除之字形顺序(libjpeg需要大于等于6a)。

您可以使用“jpegimageplugin.convert”函数将dict格式转换为预设格式。

libjpeg参考:https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html

PaletteFile 模块

class PIL.PaletteFile.PaletteFile(fp)[源代码]

基类:object

getpalette()[源代码]
rawmode = 'RGB'

PcfFontFile 模块

class PIL.PcfFontFile.PcfFontFile(fp)[源代码]

基类:PIL.FontFile.FontFile

name = 'name'
PIL.PcfFontFile.sz(s, o)[源代码]

PngImagePlugin.iTXt 等级

class PIL.PngImagePlugin.iTXt[源代码]

基类:str

字符串的子类,允许itxt块在保留额外信息的同时看起来像字符串

__new__(cls, text, lang, tkey)[源代码]
参数
  • value -- 此键的值

  • lang -- 语言代码

  • tkey -- 密钥名的UTF-8版本

PngImagePlugin.PngInfo 等级

class PIL.PngImagePlugin.PngInfo[源代码]

基类:object

PNG块容器(用于保存(pnginfo=)

add(cid, data)[源代码]

附加任意块。小心使用。

参数
  • cid -- 字节字符串,4个字节长。

  • data -- 编码数据的字节字符串

add_itxt(key, value, lang='', tkey='', zip=False)[源代码]

附加一个itxt块。

参数
  • key -- 拉丁文-1可编码文本密钥名称

  • value -- 此键的值

  • lang -- 语言代码

  • tkey -- 密钥名的UTF-8版本

  • zip -- 压缩标志

add_text(key, value, zip=False)[源代码]

附加文本块。

参数
  • key -- 拉丁文-1可编码文本密钥名称

  • value -- 此键、文本或 PIL.PngImagePlugin.iTXt 实例

  • zip -- 压缩标志

TarIO 模块

class PIL.TarIO.TarIO(tarfile, file)[源代码]

基类:PIL.ContainerIO.ContainerIO

close()[源代码]

WalImageFile 模块

PIL.WalImageFile.open(filename)[源代码]

从Quake2 Wal纹理文件加载纹理。

默认情况下,Quake2标准调色板将附加到纹理。要覆盖调色板,请使用<b>Putpalate<b>method。

参数

filename -- wal文件名或打开的文件句柄。

返回

图像实例。

_binary 模块

PIL._binary.i16be(c, o=0)[源代码]
PIL._binary.i16le(c, o=0)[源代码]

将2字节(16位)字符串转换为无符号整数。

参数
  • c -- 包含要转换的字节的字符串

  • o -- 要在字符串中转换的字节偏移量

PIL._binary.i32be(c, o=0)[源代码]
PIL._binary.i32le(c, o=0)[源代码]

将4字节(32位)字符串转换为无符号整数。

参数
  • c -- 包含要转换的字节的字符串

  • o -- 要在字符串中转换的字节偏移量

PIL._binary.i8(c)[源代码]
PIL._binary.o16be(i)[源代码]
PIL._binary.o16le(i)[源代码]
PIL._binary.o32be(i)[源代码]
PIL._binary.o32le(i)[源代码]
PIL._binary.o8(i)[源代码]
PIL._binary.si16le(c, o=0)[源代码]

将2字节(16位)字符串转换为带符号整数。

参数
  • c -- 包含要转换的字节的字符串

  • o -- 要在字符串中转换的字节偏移量

PIL._binary.si32le(c, o=0)[源代码]

将4字节(32位)字符串转换为带符号整数。

参数
  • c -- 包含要转换的字节的字符串

  • o -- 要在字符串中转换的字节偏移量