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

Метод cubicTo

Метод cubicTo класса Path использует две control points перед конечной точкой. Две управляющие точки тянут кривую, третья пара чисел это конец. Конец становится новой текущей точкой.

Синтаксис

Path.cubicTo()

Пример

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

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CustomPaint( size: const Size(220, 100), painter: _PathCubictoPainter(), ), ), ), ), ); } class _PathCubictoPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { final path = Path(); path.moveTo(20, 60); path.cubicTo(60, 10, 140, 110, 200, 60); 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: _PathCubictoPainter2(), ), ), ), ), ); } class _PathCubictoPainter2 extends CustomPainter { @override void paint(Canvas canvas, Size size) { final path = Path(); path.moveTo(20, 60); path.cubicTo(60, 10, 140, 110, 200, 60); 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить