Skip to content

PaintSweepGradient 继承自: PaintGradient

More information on Sweep gradient https://api.flutter.dev/flutter/dart-ui/Gradient/Gradient.sweep.html

属性 ​

名称类型默认值说明
centerOptional[OffsetValue]requiredThe center of the gradient.
colorslist[str]requiredThe colors the gradient should obtain at each of the stops. This list must contain at least two colors. If color_stops is provided, this list must have the same length as color_stops.
color_stopsOptional[list[Number]]NoneA list of values from 0.0 to 1.0 that denote fractions along the gradient. If provided, this list must have the same length as colors. If the first value is not 0.0, then a stop with position 0.0 and a color equal to the first color in colors is implied. If the last value is not 1.0, then a stop with position 1.0 and a color equal to the last color in colors is implied.
tile_modeGradientTileModeGradientTileMode.CLAMPHow this gradient should tile the plane beyond in the region before begin and after end.
start_angleNumber0.0The angle in https://en.wikipedia.org/wiki/Radian at which stop 0.0 of the gradient is placed. Defaults to 0.0.
end_angleNumbermath.pi * 2The angle in radians at which stop 1.0 of the gradient is placed. Defaults to math.pi * 2.
rotationOptional[Number]NoneThe rotation of the gradient in https://en.wikipedia.org/wiki/Radian, around the center-point of its bounding box.

方法 ​

名称类型默认值说明
copy'PaintSweepGradient'—返回此对象的副本,可覆盖指定属性。

示例 ​

Canvas paint ​

python
import math

import flet as ft
import flet.canvas as cv


def main(page: ft.Page):
    page.add(
        ft.SafeArea(
            content=ft.Column(
                controls=[
                    cv.Canvas(
                        width=float("inf"),
                        expand=True,
                        shapes=[
                            cv.Path(
                                elements=[
                                    cv.Path.Arc(
                                        x=10,
                                        y=230,
                                        width=100,
                                        height=100,
                                        start_angle=3 * math.pi / 4,
                                        sweep_angle=3 * math.pi / 2,
                                    ),
                                ],
                                paint=ft.Paint(
                                    stroke_width=15,
                                    stroke_join=ft.StrokeJoin.ROUND,
                                    style=ft.PaintingStyle.STROKE,
                                    gradient=ft.PaintSweepGradient(
                                        start_angle=0,
                                        end_angle=math.pi * 2,
                                        rotation=3 * math.pi / 4,
                                        center=(60, 280),
                                        colors=[ft.Colors.YELLOW, ft.Colors.PURPLE],
                                        color_stops=[0.0, 1.0],
                                    ),
                                ),
                            ),
                        ],
                    )
                ],
            ),
        )
    )


if __name__ == "__main__":
    ft.run(main)
canvas-paint

关注我,学习大模型、大数据、Python等热门技术。