模块函数与常量¶
模块函数¶
-
cairo.
cairo_version
()¶ 返回: 编码后的版本号 返回类型: int 返回编码为一个整数的底层cairo C库的版本号。
-
cairo.
cairo_version_string
()¶ 返回: 编码后的版本号 返回类型: str 以便于人类阅读的”X.Y.Z”字符串形式返回底层cairo C库的版本号。
模块常量¶
-
cairo.
version
¶ pycairo的版本,字符串类型。
-
cairo.
version_info
¶ pycairo的版本号,元组类型。
cairo.HAS¶
-
cairo.
HAS_ATSUI_FONT
¶ -
cairo.
HAS_FT_FONT
¶ -
cairo.
HAS_GLITZ_SURFACE
¶ -
cairo.
HAS_IMAGE_SURFACE
¶ -
cairo.
HAS_PDF_SURFACE
¶ -
cairo.
HAS_PNG_FUNCTIONS
¶ -
cairo.
HAS_PS_SURFACE
¶ -
cairo.
HAS_SVG_SURFACE
¶ -
cairo.
HAS_USER_FONT
¶ -
cairo.
HAS_QUARTZ_SURFACE
¶ -
cairo.
HAS_WIN32_FONT
¶ -
cairo.
HAS_WIN32_SURFACE
¶ -
cairo.
HAS_XCB_SURFACE
¶ -
cairo.
HAS_XLIB_SURFACE
¶ 1 代表底层cairo C库支持该特性,0 代表不支持。
cairo.ANTIALIAS¶
ANTIALIAS 指定了渲染文本或形状时的抗锯齿类型。
-
cairo.
ANTIALIAS_DEFAULT
¶ 针对子系统和目标设备使用默认的抗锯齿。
-
cairo.
ANTIALIAS_NONE
¶ 使用双级Alpha遮罩(bilevel alpha mask)。
-
cairo.
ANTIALIAS_GRAY
¶ 使用单色抗锯齿(例如使用白色背景上黑色文本的灰度)。
cairo.CONTENT¶
这些常量用于描述 Surface
包含的内容,即颜色信息、alpha信息(半透明vs不透明度),或者两者都有。
-
cairo.
CONTENT_COLOR
¶ surface 只包含颜色信息。
-
cairo.
CONTENT_ALPHA
¶ surface 只包含alpha通道信息。
-
cairo.
CONTENT_COLOR_ALPHA
¶ surface 包含颜色和alpha信息。
cairo.EXTEND¶
这些常量用来描述 Pattern
对于超出pattern正常区域的颜色/alpha如何渲染的问题,
(例如:超出surface边界或者超出渐变区域边界)。
对于 SurfacePattern
默认的模式是 EXTEND_NONE ,对于 Gradient
的pattern,
默认的模式是 EXTEND_PAD 。
-
cairo.
EXTEND_NONE
¶ 超过source pattern边界的像素完全透明。
-
cairo.
EXTEND_REPEAT
¶ (超出部分)pattern被重复的平铺。
-
cairo.
EXTEND_REFLECT
¶ pattern通过反射边缘平铺(>=1.6版本实现)。 the pattern is tiled by reflecting at the edges (Implemented for surface patterns since 1.6)
-
cairo.
EXTEND_PAD
¶ 超出pattern边界部分的像素直接拷贝与其相邻的边界部分的像素(>=1.2版本,只有>=1.6版本的surface pattern实现)。
未来的版本可能会增加新的模式。
cairo.FILL_RULE¶
这些常量用于选择path填充的模式。对于所有这两种模式,一个点是否被填充取决于: 从该点向无穷远画一条射线,该射线与path的交叉点。射线的方向任意,只要交叉点不通过path某一段的终点, 或者与path相切(事实上填充并不是按照这种方式实现的,这只是填充规则的描述)。
默认的填充规则是 FILL_RULE_WINDING 。
-
cairo.
FILL_RULE_WINDING
¶ 如果路径从左向右穿过射线,count+1,如果路径从右向左穿过射线,count-1。 (左和右由射线的起点看起),如果count最终非0,该点被填充。
If the path crosses the ray from left-to-right, counts +1. If the path crosses the ray from right to left, counts -1. (Left and right are determined from the perspective of looking along the ray from the starting point.) If the total count is non-zero, the point will be filled.
-
cairo.
FILL_RULE_EVEN_ODD
¶ 不考虑方向,统计交叉点的总数,如果总数是奇数,则该点被填充。
未来的版本可能会增加新的模式。
cairo.FILTER¶
这些常量用于描述渲染pattern的像素点时使用的filter。
函数 SurfacePattern.set_filter()
可以设置pattern要使用的filter。
-
cairo.
FILTER_FAST
¶ 一个高性能的filter,质量与 FILTER_NEAREST 差不多。
-
cairo.
FILTER_GOOD
¶ 性能一般的filter,质量与 FILTER_BILINEAR 差不多。
-
cairo.
FILTER_BEST
¶ 最高质量的可用的filter,性能可能并不适合交互界面使用。
-
cairo.
FILTER_NEAREST
¶ 近邻过滤(Nearest-neighbor filtering)。
-
cairo.
FILTER_BILINEAR
¶ 二维线性差值(Linear interpolation in two dimensions)。
-
cairo.
FILTER_GAUSSIAN
¶ 该值当前未实现,当前代码不应该使用。
cairo.FONT_SLANT¶
这些常量用于描述 FontFace
的倾斜度。
-
cairo.
FONT_SLANT_NORMAL
¶ 正常的字体风格。
-
cairo.
FONT_SLANT_ITALIC
¶ 斜体风格(Italic font style)。
cairo.FONT_WEIGHT¶
这些常量描述了 FontFace
的字体的粗细。
-
cairo.
FONT_WEIGHT_NORMAL
¶ 正常的自体粗细形式。
-
cairo.
FONT_WEIGHT_BOLD
¶ 粗体形式。
cairo.FORMAT¶
这些常量描述:class:ImageSurface 数据在内存中的格式。
未来的版本可能会增加新的格式。
-
cairo.
FORMAT_ARGB32
¶ 每个像素32位,高8位描述alpha通道,然后是红、绿、蓝三原色。该32位的值以本地字节序存储。 最终的渲染会使用预乘过的alpha值(即红色50%透明的值是0x80800000,而不是0x80ff0000)。
-
cairo.
FORMAT_RGB24
¶ 每个像素点是一个32位的值,但高8位没有使用,红、绿、蓝三原色依序存储在余下的24位中。
-
cairo.
FORMAT_A8
¶ 每个像素点8位——存储alpha通道的值。
-
cairo.
FORMAT_A1
¶ 每个像素使用1位,用于存储alpha值。很多像素点一起打包成32位的数,位序按照平台序来定。在大端机器上, 第一个像素在最高位,在小端机器上第一个像素在最低位。
-
cairo.
FORMAT_RGB16_565
¶ 每个像素16位,其中依序红色在高5位,绿色在中间6位,蓝色在低5位。
cairo.HINT_METRICS¶
这些常量描述是否微调字体规格(hint font metrics),意即量化字体规格,字体在显示设备空间的表示为整数。这样做可以 提高字母和线段间距的连续性,但是也意味着文字在不同的缩放程度时的布局可能会不同。
-
cairo.
HINT_METRICS_DEFAULT
¶ 以字体后端和目标设备默认的方式微调字体。
-
cairo.
HINT_METRICS_OFF
¶ 不微调字体规格。
-
cairo.
HINT_METRICS_ON
¶ 微调字体规格。
cairo.HINT_STYLE¶
这些常量描述对字体轮廓微调的类型。微调的主要工作是将字体的轮廓过滤映射到像素栅格以提升外观。 由于微调后的轮廓可能会与原来的稍有不同,因此渲染出来的字体可能并不完全忠实于原来的外形轮廓。 并不是所有的微调类型被所有字体后端支持。
-
cairo.
HINT_STYLE_DEFAULT
¶ 使用字体后端及目标设备的默认类型。
-
cairo.
HINT_STYLE_NONE
¶ 不微调字体廓量。
-
cairo.
HINT_STYLE_SLIGHT
¶ 轻微的调整来提高对比度,尽量忠实与原始形状。
-
cairo.
HINT_STYLE_MEDIUM
¶ 中度的调整在忠实于原始形状与对比度之间尽量折衷。
-
cairo.
HINT_STYLE_FULL
¶ 调整轮廓以获取尽可能大的对比度。
为了版本可能会增加新的类型。
cairo.LINE_CAP¶
这些常量描述在一次绘画(stroke)时如何处理路径的端点。
默认的形式是 LINE_CAP_BUTT
-
cairo.
LINE_CAP_BUTT
¶ 在开始(结束)点停止线段。
-
cairo.
LINE_CAP_ROUND
¶ 在端点增加圆角,圆心就是线段的端点。
-
cairo.
LINE_CAP_SQUARE
¶ 在端点增加一个正方形,正方形的中心在线段的端点。
cairo.LINE_JOIN¶
这些常量描述当完成一次绘画时如何渲染两条线段的交叉点。
默认的样式是 LINE_JOIN_MITER
-
cairo.
LINE_JOIN_MITER
¶ 圆角的交叉点,参考:
Context.set_miter_limit()
-
cairo.
LINE_JOIN_ROUND
¶ 圆角的交叉点,圆心正是交叉点。
-
cairo.
LINE_JOIN_BEVEL
¶ 斜角的交叉点,在一半线宽的位置切掉交叉点的尖角。
cairo.OPERATOR¶
这些常量用于设置cairo绘画操作的合成操作。
默认的操作符是 OPERATOR_OVER.
标记为 unbounded 的操作符即使超出了屏蔽层(mask layer)也会修改,即屏蔽层并不能限制这些效果的范围。 但是通过clip这样的方式仍然能限制有效的范围。
为了使事情变的简单,此处只记录了这些操作符在源和目的或者都透明或者都不透明时的行为, 其实实现对半透明效果也支持。
要获取每个操作符更加详细的信息,包括其数学原理,请参考: http://cairographics.org/operators.
-
cairo.
OPERATOR_CLEAR
¶ 完全清除目的层 (bounded)
-
cairo.
OPERATOR_SOURCE
¶ 完全替换目的层(bounded)
-
cairo.
OPERATOR_OVER
¶ 在目的层的上面绘制源的内容(bounded)
-
cairo.
OPERATOR_IN
¶ 在目的层有内容的地方绘制源。(unbounded)
-
cairo.
OPERATOR_OUT
¶ 在目的层没有内容的地方绘制源。(unbounded)
-
cairo.
OPERATOR_ATOP
¶ 只在目的层内容的上面绘制源。
-
cairo.
OPERATOR_DEST
¶ 忽略源。
-
cairo.
OPERATOR_DEST_OVER
¶ 在源上面绘制目的层。
-
cairo.
OPERATOR_DEST_IN
¶ 只在源有内容的地方保留目的层。(unbounded)
-
cairo.
OPERATOR_DEST_OUT
¶ 只在源没有内容的地方保留目的层。
-
cairo.
OPERATOR_DEST_ATOP
¶ 只保留源有内容的地方的目的层内容。(unbounded)
-
cairo.
OPERATOR_XOR
¶ 源和目的执行异或操作(只有源或者目的时绘制)。
-
cairo.
OPERATOR_ADD
¶ 源和目的层累积。
-
cairo.
OPERATOR_SATURATE
¶ 与OPERATOR_OVER类似,但是假定源和目的几何上分离(but assuming source and dest are disjoint geometries)。
cairo.PATH¶
这些常量描述 Path
的类型。
These constants are used to describe the type of one portion of a path when
represented as a Path
.
-
cairo.
PATH_MOVE_TO
¶ move-to 操作
-
cairo.
PATH_LINE_TO
¶ line-to 操作
-
cairo.
PATH_CURVE_TO
¶ curve-to 操作
-
cairo.
PATH_CLOSE_PATH
¶ close-path 操作
cairo.PS_LEVEL¶
这些常量描述生成的PostScript文件的版本。注意:只有cairo编译时开启了PS支持时才会定义这些常量。
-
cairo.
PS_LEVEL_2
¶ PostScript level 2
-
cairo.
PS_LEVEL_3
¶ PostScript level 3
cairo.SUBPIXEL_ORDER¶
亚像素顺序(The subpixel order)描述了在显示设备上开启抗锯齿模式 ANTIALIAS_SUBPIXEL
时
每个像素点色彩元素的顺序。
-
cairo.
SUBPIXEL_ORDER_DEFAULT
¶ 使用目的显示设备默认的亚像素顺序。
-
cairo.
SUBPIXEL_ORDER_RGB
¶ 亚像素按照红色在做的顺序水平排列。
-
cairo.
SUBPIXEL_ORDER_BGR
¶ 亚像素按照蓝像素在做的顺序水平排列。
-
cairo.
SUBPIXEL_ORDER_VRGB
¶ 亚像素按照红色在顶的顺序竖直排列。
-
cairo.
SUBPIXEL_ORDER_VBGR
¶ 亚像素按照蓝色在顶的顺序竖直排列。