Метод drawLine
Метод drawLine класса Canvas рисует отрезок между двумя точками.
Оба конца это точки Offset.
Цвет и толщина берутся из Paint.
Синтаксис
canvas.drawLine(Offset(0, 0), Offset(100, 50), paint)
Параметры
| Параметр | Описание |
|---|---|
p1 |
Начало отрезка, точка Offset.
|
p2 |
Конец отрезка, точка Offset.
|
paint |
Кисть Paint.
Из неё берутся цвет, толщина и то, заливка это или контур.
|
Пример
Давайте вызовем drawLine на CustomPaint:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: CustomPaint(
size: const Size(220, 100),
painter: _DrawLinePainter(),
),
),
),
),
);
}
class _DrawLinePainter extends CustomPainter
{
@override
void paint(Canvas canvas, Size size)
{
final paint = Paint()..color = Colors.red..strokeWidth = 4;
canvas.drawLine(Offset(16, size.height / 2), Offset(size.width - 16, size.height / 2), 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: _DrawLinePainter2(),
),
),
),
),
);
}
class _DrawLinePainter2 extends CustomPainter
{
@override
void paint(Canvas canvas, Size size)
{
final paint = Paint()..color = Colors.red..strokeWidth = 4;
canvas.drawLine(Offset(16, size.height / 2), Offset(size.width - 16, size.height / 2), paint);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}
На экране та же фигура в более широком CustomPaint.
Смотрите также
-
класс
Canvas,
холст внутриCustomPainter -
класс
CustomPainter,
код рисунка -
класс
Paint,
кисть холста -
класс
Path,
контур фигуры