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

Метод addOval

Метод addOval класса Path вписывает овал в переданный Rect. Овал вписан в переданный Rect. Контур овала замыкается.

Синтаксис

Path.addOval()

Пример

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

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