Класс Paint
Класс Paint задаёт, чем Canvas рисует фигуру.
Цвет это Color, толщина линии - strokeWidth.
Поле style выбирает заливку или контур, тип PaintingStyle.
Кисть передают в команды холста внутри CustomPainter.
Синтаксис
Paint()
..color = Color(0xFFC62828)
..strokeWidth = 4
Параметры
| Параметр | Описание |
|---|---|
color |
Цвет штриха или заливки.
Принимает Color.
|
strokeWidth |
Толщина линии в логических пикселях. |
style |
Заливка или контур.
Принимает PaintingStyle.
|
Пример
Давайте нарисуем линию с Paint:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: CustomPaint(
size: const Size(220, 100),
painter: _PaintDemo(),
),
),
),
),
);
}
class _PaintDemo extends CustomPainter
{
@override
void paint(Canvas canvas, Size size)
{
final paint = Paint()..color = Colors.red..strokeWidth = 4..style = PaintingStyle.stroke;
canvas.drawLine(Offset(20, 50), Offset(200, 50), 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(220, 100),
painter: _PaintFill(),
),
),
),
),
);
}
class _PaintFill extends CustomPainter
{
@override
void paint(Canvas canvas, Size size)
{
canvas.drawCircle(Offset(110, 50), 35, Paint()..color = Colors.green);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}
На экране зелёный круг.
Смотрите также
-
класс
Canvas,
холст внутриCustomPainter -
класс
CustomPainter,
код рисунка -
класс
Path,
контур фигуры -
перечисление
BoxShape,
прямоугольник или круг