Метод drawArc
Метод drawArc класса Canvas рисует дугу по эллипсу.
Дуга лежит на эллипсе внутри Rect.
Углы задают в радианах: откуда начать и какой длины дуга.
Синтаксис
canvas.drawArc(rect, startAngle, sweepAngle, useCenter, paint)
Параметры
| Параметр | Описание |
|---|---|
rect |
Прямоугольник Rect.
|
startAngle |
Угол, с которого начинается дуга, в радианах. |
sweepAngle |
Длина дуги в радианах. Положительное число идёт по часовой стрелке. |
useCenter |
Истина соединяет дугу с центром, получается сектор. |
paint |
Кисть Paint.
Из неё берутся цвет, толщина и то, заливка это или контур.
|
Пример
Давайте вызовем drawArc на CustomPaint:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: CustomPaint(
size: const Size(220, 100),
painter: _DrawArcPainter(),
),
),
),
),
);
}
class _DrawArcPainter extends CustomPainter
{
@override
void paint(Canvas canvas, Size size)
{
final paint = Paint()..color = Colors.blue..style = PaintingStyle.stroke..strokeWidth = 6;
canvas.drawArc(Rect.fromLTWH(20, 10, size.width - 40, size.height - 20), 0.2, 2.6, false, paint);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}
На экране виден результат рисования на холсте.
Пример
Давайте повторим рисунок в области побольше:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: CustomPaint(
size: const Size(280, 120),
painter: _DrawArcPainter2(),
),
),
),
),
);
}
class _DrawArcPainter2 extends CustomPainter
{
@override
void paint(Canvas canvas, Size size)
{
final paint = Paint()..color = Colors.blue..style = PaintingStyle.stroke..strokeWidth = 6;
canvas.drawArc(Rect.fromLTWH(20, 10, size.width - 40, size.height - 20), 0.2, 2.6, false, paint);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}
На экране та же фигура в более широком CustomPaint.
Смотрите также
-
класс
Canvas,
холст внутриCustomPainter -
класс
CustomPainter,
код рисунка -
класс
Paint,
кисть холста -
класс
Path,
контур фигуры