PIL 包(剩余模块的自动文档)

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

PIL 模块

exception PIL.UnidentifiedImageError[source]

基类:OSError

如果无法打开和识别图像,则在 PIL.Image.open() 中引发。

如果 PNG 图像引发此错误,将 ImageFile.LOAD_TRUNCATED_IMAGES 设置为 true 可能会允许最终打开图像。该设置将忽略丢失的数据和校验和失败。

BdfFontFile 模块

解析 X 位图分发格式 (BDF)

class PIL.BdfFontFile.BdfFontFile(fp: BinaryIO)[source]

基类:FontFile

X11 BDF 格式的字体文件插件。

PIL.BdfFontFile.bdf_char(f: BinaryIO) tuple[str, int, tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]], Image] | None[source]

ContainerIO 模块

class PIL.ContainerIO.ContainerIO(file: IO, offset: int, length: int)[source]

基类:IO

一个文件对象,它提供对现有文件的一部分(例如 TAR 文件)的读取访问。

close() None[source]
fileno() int[source]
flush() None[source]
isatty() bool[source]
read(n: int = -1) AnyStr[source]

读取数据。

参数:

n – 要读取的字节数。如果省略,为零或负数,则读取到区域末尾。

返回值:

一个 8 位字符串。

readable() bool[source]
readline(n: int = -1) AnyStr[source]

读取一行文本。

参数:

n – 要读取的字节数。如果省略,为零或负数,则读取到行尾。

返回值:

一个 8 位字符串。

readlines(n: int | None = -1) list[AnyStr][source]

读取多行文本。

参数:

n – 要读取的行数。如果省略,为零、负数或 None,则读取到区域末尾。

返回值:

一个 8 位字符串列表。

seek(offset: int, mode: int = 0) int[source]

移动文件指针。

参数:
  • offset – 以字节为单位的偏移量。

  • mode – 起始位置。使用 0 表示区域开头,1 表示当前偏移量,2 表示区域结尾。您不能将指针移到定义区域之外。

返回值:

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

seekable() bool[source]
tell() int[source]

获取当前文件指针。

返回值:

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

truncate(size: int | None = None) int[source]
writable() bool[source]
write(b: AnyStr) NoReturn[source]
writelines(lines: Iterable) NoReturn[source]

FontFile 模块

class PIL.FontFile.FontFile[source]

基类:object

光栅字体文件处理程序的基类。

bitmap: Image | None = None
compile() None[source]

创建度量和位图

save(filename: str) None[source]

保存字体

PIL.FontFile.puti16(fp: BinaryIO, values: tuple[int, int, int, int, int, int, int, int, int, int]) None[source]

写入网络字节序(大端)的 16 位序列

GdImageFile 模块

注意

此格式无法自动识别,因此该类未注册以供 PIL.Image.open() 使用。要打开 gd 文件,请改用 PIL.GdImageFile.open() 函数。

警告

GD 格式并非为数据交换而设计。此实现仅为方便起见和演示目的而提供。

class PIL.GdImageFile.GdImageFile(fp: StrOrBytesPath | IO[bytes], filename: str | bytes | None = None)[source]

基类:ImageFile

GD 未压缩格式的图像插件。请注意,此格式不受标准 PIL.Image.open() 函数的支持。要使用此插件,您必须导入 PIL.GdImageFile 模块并使用 PIL.GdImageFile.open() 函数。

format: str | None = 'GD'
format_description: str | None = 'GD uncompressed images'
PIL.GdImageFile.open(fp: StrOrBytesPath | IO[bytes], mode: str = 'r') GdImageFile[source]

从 GD 图像文件加载纹理。

参数:
  • fp – GD 文件名或打开的文件句柄。

  • mode – 可选模式。在此版本中,如果给出 mode 参数,则它必须为“r”。

返回值:

图像实例。

引发:

OSError – 如果无法读取图像。

GimpGradientFile 模块

用于将曲线段转换为调色板值的内容(来自 GIMP 中的相应代码,由 Federico Mena Quintero 编写。有关更多信息,请参见 GIMP 发行版。)

PIL.GimpGradientFile.EPSILON = 1e-10
class PIL.GimpGradientFile.GimpGradientFile(fp: IO[bytes])[source]

基类:GradientFile

GIMP 渐变格式的文件句柄。

class PIL.GimpGradientFile.GradientFile[source]

基类:object

getpalette(entries: int = 256) tuple[bytes, str][source]
gradient: list[tuple[float, float, float, list[float], list[float], Callable[[float, float], float]]] | None = None
PIL.GimpGradientFile.SEGMENTS = [<function linear>, <function curved>, <function sine>, <function sphere_increasing>, <function sphere_decreasing>]
PIL.GimpGradientFile.curved(middle: float, pos: float) float[source]
PIL.GimpGradientFile.linear(middle: float, pos: float) float[source]
PIL.GimpGradientFile.sine(middle: float, pos: float) float[source]
PIL.GimpGradientFile.sphere_decreasing(middle: float, pos: float) float[source]
PIL.GimpGradientFile.sphere_increasing(middle: float, pos: float) float[source]

GimpPaletteFile 模块

class PIL.GimpPaletteFile.GimpPaletteFile(fp: IO[bytes])[source]

基类:object

GIMP调色板格式文件句柄。

getpalette() tuple[bytes, str][source]
rawmode = 'RGB'

ImageDraw2 模块

(实验性) WCK 风格的绘图接口操作

另请参阅

PIL.ImageDraw

class PIL.ImageDraw2.Pen(color: str, width: int = 1, opacity: int = 255)[source]

基类:object

存储轮廓颜色和宽度。

class PIL.ImageDraw2.Brush(color: str, opacity: int = 255)[source]

基类:object

存储填充颜色

class PIL.ImageDraw2.Font(color: str, file: StrOrBytesPath | BinaryIO, size: float = 12)[source]

基类:object

存储 TrueType 字体和颜色

class PIL.ImageDraw2.Draw(image: Image | str, size: tuple[int, int] | list[int] | None = None, color: float | tuple[float, ...] | str | None = None)[source]

基类:object

(实验性) WCK 风格的绘图界面

flush() Image[source]
render(op: str, xy: Sequence[float] | Sequence[Sequence[float]], pen: Pen | Brush | None, brush: Brush | Pen | None = None, **kwargs: Any) None[source]
settransform(offset: tuple[float, float]) None[source]

设置变换偏移量。

arc(xy: Sequence[float] | Sequence[Sequence[float]], pen: Pen | Brush | None, start: float, end: float, *options: Any) None[source]

在给定的边界框内,绘制从起始角到结束角的圆弧(圆周的一部分)。

chord(xy: Sequence[float] | Sequence[Sequence[float]], pen: Pen | Brush | None, start: float, end: float, *options: Any) None[source]

arc() 相同,但用直线连接端点。

ellipse(xy: Sequence[float] | Sequence[Sequence[float]], pen: Pen | Brush | None, *options: Any) None[source]

在给定的边界框内绘制一个椭圆。

line(xy: Sequence[float] | Sequence[Sequence[float]], pen: Pen | Brush | None, *options: Any) None[source]

xy 列表中的坐标之间绘制一条直线。

pieslice(xy: Sequence[float] | Sequence[Sequence[float]], pen: Pen | Brush | None, start: float, end: float, *options: Any) None[source]

与 arc 相同,但还绘制从端点到边界框中心的直线。

polygon(xy: Sequence[float] | Sequence[Sequence[float]], pen: Pen | Brush | None, *options: Any) None[source]

绘制一个多边形。

多边形轮廓由给定坐标之间的直线组成,再加上最后一个坐标和第一个坐标之间的直线。

rectangle(xy: Sequence[float] | Sequence[Sequence[float]], pen: Pen | Brush | None, *options: Any) None[source]

绘制矩形。

text(xy: tuple[float, float], text: AnyStr, font: Font) None[source]

在给定位置绘制字符串。

textbbox(xy: tuple[float, float], text: AnyStr, font: Font) tuple[float, float, float, float][source]

返回给定文本的边界框(以像素为单位)。

返回值:

(left, top, right, bottom) 边界框

textlength(text: AnyStr, font: Font) float[source]

返回给定文本的长度(以像素为单位)。这是后面文本应偏移的量。

ImageMode 模块

class PIL.ImageMode.ModeDescriptor(mode: str, bands: tuple[str, ...], basemode: str, basetype: str, typestr: str)[source]

基础: NamedTuple

模式字符串包装器。

bands: tuple[str, ...]

字段 1 的别名

basemode: str

字段 2 的别名

basetype: str

字段 3 的别名

mode: str

字段 0 的别名

typestr: str

字段 4 的别名

PIL.ImageMode.getmode(mode: str) ModeDescriptor[source]

获取给定模式的模式描述符。

PaletteFile 模块

class PIL.PaletteFile.PaletteFile(fp: IO[bytes])[source]

基类:object

Teragon 风格调色板文件的文件句柄。

getpalette() tuple[bytes, str][source]
rawmode = 'RGB'

PcfFontFile 模块

class PIL.PcfFontFile.PcfFontFile(fp: BinaryIO, charset_encoding: str = 'iso8859-1')[source]

基类:FontFile

X11 PCF 格式的字体文件插件。

name = 'name'
PIL.PcfFontFile.sz(s: bytes, o: int) bytes[source]

PngImagePlugin.iTXt

class PIL.PngImagePlugin.iTXt(text: str, lang: str | None = None, tkey: str | None = None)[source]

基类:str

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

__new__(cls, text, lang, tkey)[source]
参数:
  • value – 此键的值

  • lang – 语言代码

  • tkey – 键名的 UTF-8 版本

lang: str | bytes | None
tkey: str | bytes | None

PngImagePlugin.PngInfo

class PIL.PngImagePlugin.PngInfo[source]

基类:object

PNG 块容器(用于与 save(pnginfo=) 一起使用)

add(cid: bytes, data: bytes, after_idat: bool = False) None[source]

追加任意块。谨慎使用。

参数:
  • cid – 字节字符串,长度为 4 字节。

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

  • after_idat – 用于私有块。块是否应该在 IDAT 之后写入

add_itxt(key: str | bytes, value: str | bytes, lang: str | bytes = '', tkey: str | bytes = '', zip: bool = False) None[source]

追加 iTXt 块。

参数:
  • key – 可用 latin-1 编码的文本键名

  • value – 此键的值

  • lang – 语言代码

  • tkey – 键名的 UTF-8 版本

  • zip – 压缩标志

add_text(key: str | bytes, value: str | bytes | iTXt, zip: bool = False) None[source]

追加文本块。

参数:
  • key – 可用 latin-1 编码的文本键名

  • value – 此键的值,文本或 PIL.PngImagePlugin.iTXt 实例

  • zip – 压缩标志

TarIO 模块

class PIL.TarIO.TarIO(tarfile: str, file: str)[source]

基类:ContainerIO[bytes]

一个文件对象,提供对 TAR 文件中给定成员的读取访问。

WalImageFile 模块

此阅读器基于以下网站提供的规范:https://www.flipcode.com/archives/Quake_2_BSP_File_Format.shtml,并且已通过使用 Google 找到的一些示例文件进行了测试。

注意

此格式无法自动识别,因此阅读器不会注册以供 PIL.Image.open() 使用。要打开 WAL 文件,请使用 PIL.WalImageFile.open() 函数。

class PIL.WalImageFile.WalImageFile(fp: StrOrBytesPath | IO[bytes], filename: str | bytes | None = None)[source]

基类:ImageFile

format: str | None = 'WAL'
format_description: str | None = 'Quake2 Texture'
load() Image.core.PixelAccess | None[source]

基于瓦片列表加载图像数据

PIL.WalImageFile.open(filename: StrOrBytesPath | IO[bytes]) WalImageFile[source]

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

默认情况下,Quake2 标准调色板附加到纹理。要覆盖调色板,请使用 PIL.Image.Image.putpalette() 方法。

参数:

filename – WAL 文件名或已打开的文件句柄。

返回值:

图像实例。