Метод moveTo
Метод moveTo класса Path ставит текущую точку пера без линии.
Линия при этом не рисуется, перо только переносят.
Следующий отрезок начнётся из этой точки.
Синтаксис
Path.moveTo()
Пример
Давайте построим контур через moveTo:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: CustomPaint(
size: const Size(220, 100),
painter: _PathMovetoPainter(),
),
),
),
),
);
}
class _PathMovetoPainter extends CustomPainter
{
@override
void paint(Canvas canvas, Size size)
{
final path = Path();
path.moveTo(30, 50);
path.lineTo(170, 50);
final paint = Paint()
..color = Colors.deepPurple
..strokeWidth = 3
..style = PaintingStyle.stroke;
canvas.drawPath(path, paint);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}
На экране линия или контур, построенный через Path.
Пример
Давайте утолщим линию:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: CustomPaint(
size: const Size(220, 100),
painter: _PathMovetoPainter2(),
),
),
),
),
);
}
class _PathMovetoPainter2 extends CustomPainter
{
@override
void paint(Canvas canvas, Size size)
{
final path = Path();
path.moveTo(30, 50);
path.lineTo(170, 50);
paint.strokeWidth = 6;
final paint = Paint()
..color = Colors.deepPurple
..strokeWidth = 3
..style = PaintingStyle.stroke;
canvas.drawPath(path, paint);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}
На экране тот же контур с более толстой линией.
Смотрите также
-
класс
Paint,
кисть холста -
класс
Canvas,
холст внутриCustomPainter -
перечисление
BoxShape,
прямоугольник или круг -
перечисление
BorderStyle,
есть линия или нет