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

Метод intersect

Метод intersect класса Rect возвращает прямоугольник, который лежит внутри обоих. Если общей части нет, результат пустой.

Синтаксис

Rect.intersect(a, b)

Параметры

Параметр Описание
a Первый прямоугольник.
b Второй прямоугольник.

Пример

Давайте найдём пересечение двух квадратов 100, сдвинутых на 40:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Builder( builder: (context) { Rect rect = Rect.intersect(Rect.fromLTWH(0, 0, 100, 100), Rect.fromLTWH(40, 40, 100, 100)); return Text(rect.left.toStringAsFixed(0) + ' ' + rect.top.toStringAsFixed(0) + ' ' + rect.width.toStringAsFixed(0) + ' ' + rect.height.toStringAsFixed(0)); }, ), ), ), ), ); }

На экране 40 40 60 60. Общая часть начинается там, где начинается второй квадрат.

Пример

Давайте пересечём квадрат сам с собой:

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

На экране 5 5 30 20. Общая часть совпала с исходным прямоугольником.

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

  • метод fromLTWH,
    который собирает прямоугольник из левого края, верхнего края, ширины и высоты
  • метод fromLTRB,
    который собирает прямоугольник из четырёх краёв
  • метод fromCenter,
    который собирает прямоугольник заданного размера вокруг точки
  • класс RRect,
    который хранит прямоугольник со скруглёнными углами
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить