Paint
Paint
属性
在画布上绘制形状时要使用的样式的描述。
anti_alias
是否 对画布上绘制的线条和图像应用抗锯齿。默认为 True
。
blend_mode
绘制形状或合成图层时要应用的混合模式。
默认为 BlendMode.SRC_OVER
。
属性值为 BlendMode
。
blur_image
在画布上绘制图像时进行模糊处理。
有关详细信息,请参阅 Container.blur
。
color
在描边或填充形状时要使用的 颜色。默认为不透明黑色。
gradient
配置渐变绘制。该值是以下类之一的实例:
PaintLinearGradient
PaintRadialGradient
PaintSweepGradient
PaintLinearGradient
cv.Rect(
10,
10,
100,
100,
5,
ft.Paint(
gradient=ft.PaintLinearGradient(
(0, 10), (0, 100), colors=[ft.colors.BLUE, ft.colors.YELLOW]
),
style=ft.PaintingStyle.FILL,
),
)
PaintLinearGradient
类具有以下属性:
begin
-Offset
类的实例。设置渐变的停止 0.0 的偏移量。end
-Offset
类的实例。设置渐变的停止 1.0 的偏移量。colors
- 渐变在每个停止点处应获取的颜色。如果stops
不为空,则此列表的长度必须与stops
的长度相同。此列表必须至少有两种颜色(否则,它不是渐变!)。stops
- 0.0 到 1.0 之间的值列表,表示渐变沿着渐变的分数。如果非空,则此列表的长度必须与colors
相同。如果第一个值不是 0.0,则意味着在位置 0.0 处有一个停止点,并且颜色与colors
中的第一个颜色相同。如果最后一个值不是 1.0,则意味着在位置 1.0 处有一个停止点,并且颜色与colors
中的最后一个颜色相同。tile_mode
- 渐变在begin
和end
之前和之后的平面上如何铺砌的模式。值是GradientTileMode
枚举,支持的值有:CLAMP
(默认值)、DECAL
、MIRROR
、REPEATED
。更多信息 here。rotation
- 渐变的旋转,以其边界框的中心点为中心点,单位为 弧度。
更多信息:
PaintRadialGradient
cv.Circle(
60,
170,
50,
ft.Paint(
gradient=ft.PaintRadialGradient(
(60, 170), 50, colors=[ft.colors.YELLOW, ft.colors.BLUE]
),
style=ft.PaintingStyle.FILL,
),
)
PaintRadialGradient
类具有以下属性:
center
-Offset
类的实例。渐变的中心点。radius
- 渐变的半径。colors
、stops
、tile_mode
、rotation
- 详见 线性渐变 中这些属性的描述。focal
- 渐变的焦点。如果指定,渐变将看起来沿着从center
到焦点的矢量聚焦。focal_radius
- 渐变焦点的半径,作为绘制框最短边的一部分。例如,如果在宽度为 100.0 像素、高度为 200.0 像素的框上绘制径向渐变,则半径为 1.0 将使 1.0 停止点距离焦点 100.0 像素。
更多信息:
PaintSweepGradient
cv.Path(
[
cv.Path.MoveTo(60, 230),
cv.Path.LineTo(110, 330),
cv.Path.LineTo(10, 330),
cv.Path.Close(),
],
ft.Paint(
gradient=ft.PaintSweepGradient(
(60, 280),
colors=[ft.colors.YELLOW, ft.colors.BLUE],
start_angle=0,
end_angle=math.pi * 2,
),
stroke_width=5,
stroke_join=ft.StrokeJoin.ROUND,
style=ft.PaintingStyle.STROKE,
),
)
PaintSweepGradient
类具有以下属性:
center
- 渐变的中心。colors
、stops
、tile_mode
、rotation
- 详见 线性渐变 中这些属性的描述。start_angle
- 渐变停止 0.0 的角度(以弧度为单位)。默认为 0.0。end_angle
- 渐变停止 1.
0 的角度(以弧度为单位)。默认为 math.pi * 2。
rotation
- 渐变的旋转角度(以弧度为单位)。
更多信息:
stroke_cap
当 style
设置为 PaintingStyle.STROKE
时,在线条绘制结束时放置的类型。
值是 ft.StrokeCap
枚举的实例:
BUTT
(默认值)- 开始和结束轮廓具有平坦边缘且无扩展。ROUND
- 开始和结束轮廓具有半圆形扩展。SQUARE
- 开始和结束轮廓具有半方形扩展。这类似于将每个轮廓延伸半个笔触宽度(由Paint.stroke_width
给出)。
stroke_join
线段之间连接的类型。
这适用于样式设置为 PaintingStyle.STROKE
时绘制的路径,不适用于作为带有 canvas.Points
的线条绘制的点。
默认为 StrokeJoin.MITER
,即尖角。
值是 ft.StrokeJoin
枚举的实例:
MITER
(默认值)- 线段之间的连接形成尖角。ROUND
- 线段之间的连接是半圆形的。BEVEL
- 线段之间的连接将线段的末端的角连接起来,以呈现斜角外观。
有关详细信息,请参阅 StrokeJoin 枚举。
stroke_miter_limit
当连接设置为 StrokeJoin.MITER
且样式设置为 PaintingStyle.STROKE
时,要在段上绘制的斜接的限制。如果超过此限制,则将绘制 StrokeJoin.BEVEL
连接。如果角度线段之间的角度是动画的,则可能会导致路径的角落出现一些 "弹出",如下图所示。
此限制表示斜接的长度限制。
默认为 4.0。使用零作为限制将始终使用 StrokeJoin.BEVEL
连接。
stroke_width
在样式设置为 PaintingStyle.STROKE
时要绘制的边缘的宽度。宽度以垂直于路径方向的逻辑像素为单位。
默认为 0.0,对应于发丝线宽度。
stroke_dash_pattern
圆形阵列,包含划破的偏移量和长度。
例如,数组 [5, 10]
将导致长为 5 像素的短划线,后跟长为 10 像素的空白。数组 [5, 10, 5]
将导致 5 像素的短划线、10 像素的间隔、5 像素的短划线、5 像素的间隔、10 像素的短划线,依此类推。
style
是否在形状内部、形状的边缘或两者都绘制。
值是 ft.PaintingStyle
枚举的实例:
FILL
(默认值)- 将Paint
应用于形状的内部。例如,当应用于canvas.Circle
形状时,结果是绘制给定大小的圆盘。STROKE
- 将Paint
应用于形状的边缘。例如,当应用于canvas.Circle
形状时,结果是绘制给定大小的环。绘制在边缘的线条宽度由Paint.stroke_width
属性给出。