Перейти к содержанию
  • Регистрация

Поиск сообщества

Показаны результаты для тегов 'rectf'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
  • Вопросы по использованию RAD Studio
  • Native FGX
  • Обучение
  • Поиск специалистов по FireMonkey
  • Дополнительные ресурсы по FireMonkey
  • Организация работы данного форума
  • Видеокурсы

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

Найдено: 2 результата

  1. Alex7wrt

    Область, занимаемая TBitmap

    Часто при отрисовке битмапа на холсте используется метод DrawBitmap, где, в частности, в качестве аргумента необходимо указать прямоугольные области источника (SrcRect) и приемника (DestRect). Эти прямоугольники имеют формат записи (Left, Top, Right, Bottom). При указании в качестве SrcRect всего битмапа целиком как здесь на формуме так и в книге Осипова я встречал такую запись: RectF(0,0,ABitmap.Width,ABitmap.Height) Но моя логика подсказывает, что такой битмап должен иметь размеры на 1 пиксель по горизонтали и вертикали больше, чем на самом деле, ведь первый пиксель имеет координаты (0;0), а последний (ABitmap.Width,ABitmap.Height). Что, наверное, приводит к искажениям при отображении битмапа на холсте. Мне думается, что при рисовании целого битмапа следует писать так: RectF(0,0,ABitmap.Width-1,ABitmap.Height-1) Прав ли я или не прав? Если нет, то почему?
  2. Embarcadero® RAD Studio XE6 Version 20.0.16277.1276 Не работает функция пересечения двух прямоугольников. Пытаюсь найти прямоугольник пересечения функцией IntersectRectF. Пример кода: var R1, R2, ResRect: TRectF; begin R1 := RectF(6, 3, 3, 6); R2 := RectF(8, 5, 5, 8); if IntersectRectF(ResRect, R1, R2) then begin ShowMessage(FloatToStr(ResRect.Left) + ' ' + FloatToStr(ResRect.Top) + ' '+FloatToStr(ResRect.Right) + ' ' + FloatToStr(ResRect.Bottom)); end; end; Функция возвращает False и в ResRect присваивается значениям 0. Хотя очевидно что есть пересечение в виде квадрата 1 на 1. Как можно еще найти пересечение прямоугольников типа TRectF?
×
×
  • Создать...