Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
307 of 1024 menu
◀ ▶

Метод close

Метод close класса Path рисует отрезок к первой точке moveTo. Если контур уже замкнут, новый отрезок не появляется. После замыкания перо стоит в начальной точке.

Синтаксис

Path.close()

Пример

Давайте построим контур через close:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CustomPaint( size: const Size(220, 100), painter: _PathClosePainter(), ), ), ), ), ); } class _PathClosePainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { final path = Path(); path.moveTo(60, 30); path.lineTo(160, 30); path.lineTo(110, 90); path.close(); 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: _PathClosePainter2(), ), ), ), ), ); } class _PathClosePainter2 extends CustomPainter { @override void paint(Canvas canvas, Size size) { final path = Path(); path.moveTo(60, 30); path.lineTo(160, 30); path.lineTo(110, 90); path.close(); 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,
    есть линия или нет
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить