Метод 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,
который рисует контур на холсте