枚举类型

在pycairo 1.13之前,这里定义的大多数枚举值只能作为模块级的常量使用。见 旧常量 .

class cairo.Antialias(value: int)

指定呈现文本或形状时要执行的抗锯齿类型。

在 1.13 版本加入.

BEST: Antialias = Ellipsis

提示后端应该以最高质量呈现,必要时牺牲速度。

DEFAULT: Antialias = Ellipsis

使用子系统和目标设备的默认抗锯齿

FAST: Antialias = Ellipsis

提示后端应该执行一些抗锯齿操作,但更喜欢速度而不是质量。

GOOD: Antialias = Ellipsis

后端应该平衡质量和性能。

GRAY: Antialias = Ellipsis

执行单色抗锯齿(例如,对白色背景上的黑色文本使用灰色阴影)。

NONE: Antialias = Ellipsis

使用双层阿尔法蒙版

SUBPIXEL: Antialias = Ellipsis

利用LCD面板等设备上的亚像素元素的顺序执行抗锯齿。

class cairo.Content(value: int)

这些常量用于描述 Surface 将包含颜色信息、alpha信息(半透明与不透明度)或两者。

在 1.13 版本加入.

ALPHA: Content = Ellipsis

表面将只容纳阿尔法内容。

COLOR: Content = Ellipsis

表面将只保存颜色内容。

COLOR_ALPHA: Content = Ellipsis

表面将保存颜色和alpha内容。

class cairo.Extend(value: int)

这些常量用于描述 Pattern 颜色/α将为图案自然区域“外部”的区域(例如,在表面边界或渐变几何体外部)确定。

默认的扩展模式是 NONE 对于 SurfacePatternPAD 对于 Gradient 模式。

在 1.13 版本加入.

NONE: Extend = Ellipsis

源模式之外的像素是完全透明的

PAD: Extend = Ellipsis

图案外的像素从源复制最近的像素(从1.2开始;但仅对1.6之后的表面图案实施)

REFLECT: Extend = Ellipsis

通过在边缘反射来平铺图案(从1.6开始对表面图案实施)

REPEAT: Extend = Ellipsis

这个图案是重复平铺的。

class cairo.FillRule(value: int)

这些常量用于选择路径的填充方式。对于这两个填充规则,填充中是否包含一个点是通过从该点到无穷远并查看与路径的交点来确定的。光线可以是任何方向的,只要它不经过一段的终点,或者有一个复杂的交点,比如与路径相切的交点。(请注意,填充实际上不是以这种方式实现的。这只是应用规则的描述。)

默认填充规则为 WINDING .

在 1.13 版本加入.

EVEN_ODD: FillRule = Ellipsis

计算交点总数,不考虑轮廓的方向。如果交点总数为奇数,则将填充该点。

WINDING: FillRule = Ellipsis

如果路径从左向右穿过射线,则计数+1。如果路径从右向左穿过射线,则计数-1。(左、右是从从起点沿射线方向看的角度确定的。)如果总计数为非零,则该点将被填充。

class cairo.Filter(value: int)

这些常量用于指示从模式中读取像素值时应应用什么过滤。见 Pattern.set_filter() 用于指示要与特定模式一起使用的所需过滤器。

在 1.13 版本加入.

BEST: Filter = Ellipsis

可用的最高质量、性能可能不适合交互使用。

BILINEAR: Filter = Ellipsis

二维线性插值

FAST: Filter = Ellipsis

高性能过滤器,质量相似 FILTER_NEAREST

GAUSSIAN: Filter = Ellipsis

此筛选器值当前未实现,不应在当前代码中使用。

GOOD: Filter = Ellipsis

一种性能合理的过滤器,其质量与 FILTER_BILINEAR

NEAREST: Filter = Ellipsis

最近邻滤波

class cairo.FontSlant(value: int)

这些常量指定了 FontFace 基于它们的倾斜度。

在 1.13 版本加入.

ITALIC: FontSlant = Ellipsis

斜体字体样式

NORMAL: FontSlant = Ellipsis

竖排字体样式

OBLIQUE: FontSlant = Ellipsis

倾斜字体样式

class cairo.FontWeight(value: int)

这些常量指定了 FontFace 根据他们的体重。

在 1.13 版本加入.

BOLD: FontWeight = Ellipsis

加粗字体粗细

NORMAL: FontWeight = Ellipsis

普通字体粗细

class cairo.Format(value: int)

这些常量用于标识 ImageSurface 数据。

在将来的版本中可能会添加新条目。

在 1.13 版本加入.

stride_for_width(width: int) int
参数:

width -- 所需的宽度 ImageSurface 待创建。

返回:

给定所需格式和宽度时要使用的适当步幅,或者如果格式无效或宽度太大,则使用-1。

此方法提供了一个跨距值,它将遵守cairo内加速图像呈现代码的所有对齐要求。典型用法如下:

format = cairo.Format.RGB24
stride = format.stride_for_width(width)
surface = cairo.ImageSurface.create_for_data(
    data, format, width, height, stride)

也可在 cairo.ImageSurface.format_stride_for_width() .

在 1.14 版本加入.

A1: Format = Ellipsis

每个像素都是一个1位的数量,包含一个alpha值。像素被压缩成32位的数量。位的顺序与平台的尾数相匹配。在big-endian机器上,第一个像素在最高位,在小endian机器上,第一个像素在最低位。

A8: Format = Ellipsis

每个像素都是一个8位的数量,其中包含一个alpha值。

ARGB32: Format = Ellipsis

每个像素是一个32位的数量,字母在上面的8位,然后是红色,然后是绿色,最后是蓝色。32位的数量存储在本机endian中。使用预乘alpha。(也就是说,50%透明红色是0x80800000,而不是0x80ff0000。)

INVALID: Format = Ellipsis

不存在或不支持这种格式。

RGB16_565: Format = Ellipsis

每个像素是一个16位的数量,红色在上5位,绿色在中间6位,蓝色在下5位。

RGB24: Format = Ellipsis

每个像素是一个32位的量,高8位未使用。 [1] 红色、绿色和蓝色按该顺序存储在剩余的24位中。

RGB30: Format = Ellipsis

喜欢 RGB24 但有10个基点。

RGB96F: Format = Ellipsis

3个浮点,R、G、B。

在 1.23 版本加入: 仅适用于开罗1.17.2+

RGBA128F: Format = Ellipsis

4个浮点,R、G、B、A。

在 1.23 版本加入: 仅适用于开罗1.17.2+

class cairo.HintMetrics(value: int)

这些常量指定是否提示字体度量;提示字体度量意味着对其进行量化,使其成为设备空间中的整数值。这样做可以提高字母和行距的一致性,但也意味着文本在不同的缩放系数下的布局也会有所不同。

在 1.13 版本加入.

DEFAULT: HintMetrics = Ellipsis

以字体后端和目标设备的默认方式提示度量

OFF: HintMetrics = Ellipsis

“不提示字体规格

ON: HintMetrics = Ellipsis

提示字体度量

class cairo.HintStyle(value: int)

这些常量指定字体轮廓的提示类型。提示是将轮廓拟合到像素网格以改善结果外观的过程。由于暗示轮廓涉及到扭曲它们,它也减少了对原始轮廓形状的忠实。并非所有的轮廓暗示样式都受所有字体后端的支持。

在将来的版本中可能会添加新条目。

在 1.13 版本加入.

DEFAULT: HintStyle = Ellipsis

对字体后端和目标设备使用默认提示样式

FULL: HintStyle = Ellipsis

提示轮廓最大化对比度

MEDIUM: HintStyle = Ellipsis

中等强度的提示轮廓,在对原始形状的逼真度和对比度之间进行折衷。

NONE: HintStyle = Ellipsis

不提示大纲

SLIGHT: HintStyle = Ellipsis

提示略显轮廓,以提高对比度,同时保持对原始形状的良好逼真度。

class cairo.LineCap(value: int)

这些常量指定在删除时如何呈现路径的端点。

默认的线帽样式为 BUTT

在 1.13 版本加入.

BUTT: LineCap = Ellipsis

从起点(终点)开始(停止)线路。

ROUND: LineCap = Ellipsis

使用圆的端点,圆心是端点

SQUARE: LineCap = Ellipsis

使用平方结束,平方的中心是结束点

class cairo.LineJoin(value: int)

这些常量指定如何在笔划时呈现两条线的连接。

默认的线条连接样式为 MITER

在 1.13 版本加入.

BEVEL: LineJoin = Ellipsis

使用切断连接,该连接在距连接点一半的线条宽度处切断。

MITER: LineJoin = Ellipsis

使用锐角,请参见 Context.set_miter_limit()

ROUND: LineJoin = Ellipsis

使用圆形连接,圆的中心是连接点

class cairo.Operator(value: int)

这些常量用于为所有cairo绘图操作设置合成运算符。

默认运算符为 OVER .

操作员标记为 无边界 即使在遮罩层之外也要修改它们的目标(也就是说,它们的效果不受遮罩层的约束)。但是,它们的效果仍然可以通过剪切来限制。

为了保持简单,这里的操作符描述记录了当源和目标都是完全透明或完全不透明时的行为。实际的实现也适用于半透明层。

有关每个运算符(包括数学定义)效果的更详细说明,请参阅https://cairographics.org/operators。

在 1.13 版本加入.

ADD: Operator = Ellipsis

源层和目标层累积

ATOP: Operator = Ellipsis

在目标内容的顶部绘制源,并且仅在那里

CLEAR: Operator = Ellipsis

清除目标层(有界)

COLOR_BURN: Operator = Ellipsis

使目标颜色变暗以反映源颜色。

COLOR_DODGE: Operator = Ellipsis

使目标颜色变亮以反映源颜色。

DARKEN: Operator = Ellipsis

如果目标较暗,则将其替换为源,否则保留源。

DEST: Operator = Ellipsis

忽略源

DEST_ATOP: Operator = Ellipsis

将目的地保留在源内容的顶部,并且仅保留在那里(未绑定)

DEST_IN: Operator = Ellipsis

仅在存在源内容的情况下离开目标(未绑定)

DEST_OUT: Operator = Ellipsis

仅在没有源内容的情况下离开目标

DEST_OVER: Operator = Ellipsis

在源上绘制目标

DIFFERENCE: Operator = Ellipsis

获取源颜色和目标颜色的差异。

EXCLUSION: Operator = Ellipsis

产生类似于差异的效果,但对比度较低。

HARD_LIGHT: Operator = Ellipsis

取决于源颜色的倍数或屏幕。

HSL_COLOR: Operator = Ellipsis

创建具有源色调和饱和度以及目标亮度的颜色。这将保留目标的灰度,并且对于单色图像或着色彩色图像很有用。

HSL_HUE: Operator = Ellipsis

创建具有源色调和目标饱和度和亮度的颜色。

HSL_LUMINOSITY: Operator = Ellipsis

使用光源的亮度和目标的色调和饱和度创建颜色。这会对 HSL_COLOR

HSL_SATURATION: Operator = Ellipsis

使用源的饱和度和目标的色调和亮度创建颜色。使用此模式在灰色区域上绘制不会产生任何变化。

IN: Operator = Ellipsis

在有目标内容的地方绘制源(无边界)

LIGHTEN: Operator = Ellipsis

如果目标较轻,则将其替换为源,否则保留源。

MULTIPLY: Operator = Ellipsis

源层和目标层相乘。这会导致结果至少与较暗的输入一样暗。

OUT: Operator = Ellipsis

在没有目标内容的地方绘制源(未绑定)

OVER: Operator = Ellipsis

在目标层顶部绘制源层(有界)

OVERLAY: Operator = Ellipsis

根据目标颜色的亮度,放大或显示。

SATURATE: Operator = Ellipsis

和上面一样,但假设源和目标是不相交的几何体

SCREEN: Operator = Ellipsis

源和目的地是互补和相乘的。这使得结果至少与较轻的输入一样轻。

SOFT_LIGHT: Operator = Ellipsis

变暗或变亮,取决于源颜色。

SOURCE: Operator = Ellipsis

替换目标层(有界)

XOR: Operator = Ellipsis

在只有一个源和目标的地方显示源和目标

class cairo.PathDataType(value: int)

这些常量用于描述当表示为 Path .

在 1.13 版本加入.

CLOSE_PATH: PathDataType = Ellipsis

关闭路径操作

CURVE_TO: PathDataType = Ellipsis

运行曲线

LINE_TO: PathDataType = Ellipsis

一条生产线

MOVE_TO: PathDataType = Ellipsis

行动

class cairo.PSLevel(value: int)

这些常量用于描述生成的PostScript文件将符合的PostScript语言引用的语言级别。注意:只有在启用了ps支持的情况下编译cairo时才定义常量。

在 1.13 版本加入.

LEVEL_2: PSLevel = Ellipsis

PostScript规范的语言级别2。

LEVEL_3: PSLevel = Ellipsis

PostScript规范的语言级别3。

class cairo.PDFVersion(value: int)

这些常量用于描述生成的PDF文件将符合的PDF规范的版本号。

在 1.13 版本加入.

VERSION_1_4: PDFVersion = Ellipsis

PDF规范的1.4版。

VERSION_1_5: PDFVersion = Ellipsis

PDF规范的1.5版。

VERSION_1_6: PDFVersion = Ellipsis

PDF规范的1.6版。

在 1.23.0 版本加入: 仅适用于开罗1.17.6+

VERSION_1_7: PDFVersion = Ellipsis

PDF规范的版本1.7。

在 1.23.0 版本加入: 仅适用于开罗1.17.6+

class cairo.SVGVersion(value: int)

这些常量用于描述生成的SVG文件将符合的SVG规范的版本号。

在 1.13 版本加入.

VERSION_1_1: SVGVersion = Ellipsis

SVG规范的1.1版。

VERSION_1_2: SVGVersion = Ellipsis

SVG规范的1.2版。

class cairo.SubpixelOrder(value: int)

子像素顺序指定以抗锯齿模式渲染时显示设备上每个像素内颜色元素的顺序。 Antialias.SUBPIXEL .

在 1.13 版本加入.

BGR: SubpixelOrder = Ellipsis

子像素元素水平排列,左侧为蓝色

DEFAULT: SubpixelOrder = Ellipsis

对目标设备使用默认的子像素顺序

RGB: SubpixelOrder = Ellipsis

子像素元素水平排列,左侧为红色

VBGR: SubpixelOrder = Ellipsis

子像素元素垂直排列,顶部为蓝色

VRGB: SubpixelOrder = Ellipsis

子像素元素垂直排列,顶部为红色

class cairo.RegionOverlap(value: int)

在 1.13 版本加入.

IN: RegionOverlap = Ellipsis

内容完全在区域内。

OUT: RegionOverlap = Ellipsis

内容完全在区域之外。

PART: RegionOverlap = Ellipsis

内容部分在区域内,部分在区域外。

class cairo.Status(value: int)

在 1.13 版本加入.

CLIP_NOT_REPRESENTABLE: Status = Ellipsis
DEVICE_ERROR: Status = Ellipsis
DEVICE_FINISHED: Status = Ellipsis
DEVICE_TYPE_MISMATCH: Status = Ellipsis
FILE_NOT_FOUND: Status = Ellipsis
FONT_TYPE_MISMATCH: Status = Ellipsis
INVALID_CLUSTERS: Status = Ellipsis
INVALID_CONTENT: Status = Ellipsis
INVALID_DASH: Status = Ellipsis
INVALID_DSC_COMMENT: Status = Ellipsis
INVALID_FORMAT: Status = Ellipsis
INVALID_INDEX: Status = Ellipsis
INVALID_MATRIX: Status = Ellipsis
INVALID_MESH_CONSTRUCTION: Status = Ellipsis
INVALID_PATH_DATA: Status = Ellipsis
INVALID_POP_GROUP: Status = Ellipsis
INVALID_RESTORE: Status = Ellipsis
INVALID_SIZE: Status = Ellipsis
INVALID_SLANT: Status = Ellipsis
INVALID_STATUS: Status = Ellipsis
INVALID_STRIDE: Status = Ellipsis
INVALID_STRING: Status = Ellipsis
INVALID_VISUAL: Status = Ellipsis
INVALID_WEIGHT: Status = Ellipsis
JBIG2_GLOBAL_MISSING: Status = Ellipsis

在 1.14 版本加入.

LAST_STATUS: Status = Ellipsis
NEGATIVE_COUNT: Status = Ellipsis
NO_CURRENT_POINT: Status = Ellipsis
NO_MEMORY: Status = Ellipsis
NULL_POINTER: Status = Ellipsis
PATTERN_TYPE_MISMATCH: Status = Ellipsis
READ_ERROR: Status = Ellipsis
SUCCESS: Status = Ellipsis
SURFACE_FINISHED: Status = Ellipsis
SURFACE_TYPE_MISMATCH: Status = Ellipsis
TEMP_FILE_ERROR: Status = Ellipsis
USER_FONT_ERROR: Status = Ellipsis
USER_FONT_IMMUTABLE: Status = Ellipsis
USER_FONT_NOT_IMPLEMENTED: Status = Ellipsis
WRITE_ERROR: Status = Ellipsis
TAG_ERROR: Status = Ellipsis

在 1.18.0 版本加入: 仅适用于开罗1.15.10+

FREETYPE_ERROR: Status = Ellipsis

在 1.18.0 版本加入: 仅适用于开罗1.15.10+

PNG_ERROR: Status = Ellipsis

在 1.18.0 版本加入: 仅适用于开罗1.15.10+

WIN32_GDI_ERROR: Status = Ellipsis

在 1.18.0 版本加入: 仅适用于开罗1.15.10+

DWRITE_ERROR: Status = Ellipsis

在 1.23.0 版本加入: 仅适用于开罗1.17.6+

SVG_FONT_ERROR: Status = Ellipsis

在 1.25.0 版本加入: 仅适用于开罗1.17.8+

class cairo.ScriptMode(value: int)

一组脚本输出变量。

在 1.14 版本加入.

ASCII: ScriptMode = Ellipsis

输出将是可读文本(默认)

BINARY: ScriptMode = Ellipsis

输出将使用字节码。

class cairo.TextClusterFlags(value: int)

指定文本群集映射的属性。

在 1.14 版本加入.

BACKWARD: TextClusterFlags = Ellipsis

集群数组中的集群从一端到另一端映射到glyph数组中的glyph。

class cairo.SurfaceObserverMode(value: int)

是否应记录操作。

在 1.14 版本加入.

NORMAL: SurfaceObserverMode = Ellipsis

没有录制完成

RECORD_OPERATIONS: SurfaceObserverMode = Ellipsis

记录操作

class cairo.PDFOutlineFlags(value: int)

PDFOutlineFlagsPDFSurface.add_outline() 方法指定大纲项的属性。这些标志可以按位排列,也可以生成任何标志组合。

在 1.18.0 版本加入: 仅适用于开罗1.15.10+

OPEN: PDFOutlineFlags = Ellipsis

大纲项默认在PDF查看器中打开。

BOLD: PDFOutlineFlags = Ellipsis

大纲项由查看器以粗体文本显示。

ITALIC: PDFOutlineFlags = Ellipsis

大纲项由查看器以斜体文本显示。

class cairo.SVGUnit(value: int)

SVGUnit 用于在SVG规范中描述坐标和长度的有效单位。

参见:

在 1.18.0 版本加入: 仅适用于开罗1.15.10+

USER: SVGUnit = Ellipsis

用户单位,当前坐标系中的值。如果在初始坐标系的根元素中使用,则它对应于像素。

EM: SVGUnit = Ellipsis

元素字体的大小。

EX: SVGUnit = Ellipsis

元素字体的x高度。

PX: SVGUnit = Ellipsis

像素(1px=1in的1/96)。

IN: SVGUnit = Ellipsis

英寸(1in=2.54cm=96px)

CM: SVGUnit = Ellipsis

厘米(1cm=96px/2.54)。

MM: SVGUnit = Ellipsis

毫米(1毫米=1/10厘米)。

PT: SVGUnit = Ellipsis

点(1pt=1in的1/72)。

PC: SVGUnit = Ellipsis

十二点活字(1pc=1in的1/6)。

PERCENT: SVGUnit = Ellipsis

百分比,是另一个参考值的某个分数。

class cairo.PDFMetadata(value: int)

PDFMetadataPDFSurface.set_metadata() 方法来指定要设置的元数据。

在 1.18.0 版本加入: 仅适用于开罗1.15.10+

TITLE: PDFMetadata = Ellipsis

文件标题

AUTHOR: PDFMetadata = Ellipsis

文档作者

SUBJECT: PDFMetadata = Ellipsis

文件主题

KEYWORDS: PDFMetadata = Ellipsis

文档关键字

CREATOR: PDFMetadata = Ellipsis

文档创建者

CREATE_DATE: PDFMetadata = Ellipsis

文档创建日期

MOD_DATE: PDFMetadata = Ellipsis

文件修改日期

class cairo.ColorMode(value: int)

指定是使用颜色字形还是轮廓字形呈现颜色字体。没有颜色表示的字形和非颜色字体不受此字体选项的影响。

在 1.25 版本加入: 仅适用于开罗1.17.8+

DEFAULT: ColorMode = Ellipsis

使用字体后端和目标设备的默认颜色模式。

NO_COLOR: ColorMode = Ellipsis

禁用呈现颜色字形。字形始终呈现为轮廓字形

COLOR: ColorMode = Ellipsis

启用呈现颜色字形。如果字体包含字形的颜色表示,并且当字体后端支持时,字形将呈现为彩色。

class cairo.Dither(value: int)

抖动是一种有意应用的噪声形式,用于随机化量化误差,防止图像中的大规模图案,如色带(例如,用于渐变)。有序抖动应用预先计算的阈值矩阵来平滑地传播误差。

Dither 是仿照Pixman抖动算法选择的。在Pixman 0.40中,FAST对应于8x8有序拜耳噪声,而良好并最好地使用有序64x64预计算蓝色噪声。

在 1.25 版本加入: 仅适用于开罗1.18.0+

NONE: Dither = Ellipsis

不要犹豫。

DEFAULT: Dither = Ellipsis

开罗编译时的默认选择。目前没有。

FAST: Dither = Ellipsis

后台支持的最快抖动算法

GOOD: Dither = Ellipsis

一种抖动比快速更平滑的算法

BEST: Dither = Ellipsis

后端可用的最佳算法