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

Метод getBounds

Метод getBounds класса Path обходит фигуры контура и возвращает наименьший прямоугольник, который их покрывает. Результат это Rect: левый край, верхний край, ширина и высота. Пустой путь даёт пустой прямоугольник.

Синтаксис

path.getBounds()

Пример

Давайте измерим овал с центром (50, 40) и радиусами 30 и 20:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Builder( builder: (context) { Path path = Path()..addOval(Rect.fromCenter(center: Offset(50, 40), width: 60, height: 40)); Rect rect = path.getBounds(); return Text(rect.left.toStringAsFixed(0) + ' ' + rect.top.toStringAsFixed(0) + ' ' + rect.width.toStringAsFixed(0) + ' ' + rect.height.toStringAsFixed(0)); }, ), ), ), ), ); }

На экране 20 20 60 40. Левый край это 50 минус 30, верхний это 40 минус 20.

Пример

Давайте измерим прямоугольник, который сами добавили:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Builder( builder: (context) { Path path = Path()..addRect(Rect.fromLTWH(5, 8, 70, 25)); Rect rect = path.getBounds(); return Text(rect.left.toStringAsFixed(0) + ' ' + rect.top.toStringAsFixed(0) + ' ' + rect.width.toStringAsFixed(0) + ' ' + rect.height.toStringAsFixed(0)); }, ), ), ), ), ); }

На экране 5 8 70 25, тот же прямоугольник.

Смотрите также

  • метод contains,
    который проверяет, лежит ли точка внутри контура
  • метод addRect,
    который добавляет прямоугольник в контур
  • метод addOval,
    который добавляет овал в контур
  • класс CustomPaint,
    который рисует контур на холсте
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить