Перейти к содержанию
Fire Monkey от А до Я

Serg Sib

Пользователи
  • Постов

    4
  • Зарегистрирован

  • Посещение

Весь контент Serg Sib

  1. Да, этот эффект - TPerspectiveTransformEffect я и использовал, когда сделал первый вариант приложения. Но у этого способа есть некоторые недостатки: 1) Применяется этот эффект немного своеобразно - нужно приловчиться, прежде чем научиться подстраивать Image под нужные границы (приложение используется в качестве мэппинга на многопроекторных системах). 2) Есть ограничение на применение количества фильтров к одному визуальному элементу оформления. А хотелось бы, чтобы еще были какие-то переходы между изображениями, когда они меняются на экране. То есть это можно сделать, наверное, но уже с усложнением кода и добавлением каких-то вспомогательных объектов.
  2. RAD 10.2.3 Delphi , Win 10x64 Pro 1803 Подскажите, с помощью чего можно осуществить трансформацию изображения по опорным точкам (по углам)? Возможно, что не напрямую сам TImage, а при помощи работы с Canvas на его Bitmap. Пока удалось добиться подобной трансформации, заполнив нужным изображением полигон и, меняя координаты его вершин, делать нужные корректировки. var MyBrushBitmap: TBrushBitmap; Image1.Bitmap.Canvas.Fill.Kind := TBrushKind.Bitmap; Image1.Bitmap.Canvas.Fill.Bitmap := MyBrushBitmap; Image1.Bitmap.Canvas.Fill.Bitmap.WrapMode := TWrapMode.TileStretch; Image1.Bitmap.Canvas.FillPolygon(MyPolygon, 50); Однако, изображение частично обрезается при этом. В интернете поиском находил пример подобной трансформации на VCL, (перетаскиванием вершин мышью), но не смог приспособить этот пример для платформы FireMonkey.
  3. Slym, спасибо за ответ! Я, после написнаия своего вопроса, еще немного помыслил и в итоге: if ((ssCtrl in Shift)and (Key = vkRight)) then PerspEffect1.TopRight := TPointF.Create(PerspEffect1.TopRight.X + 5, PerspEffect1.TopRight.Y); По горячим клавишам можно растягивать TImage, как нужно.
  4. RAD 10.2.3 Delphi Эффект TPerspectiveTransformEffect применен к TImage. Как во время выполнения приложения менять свойства этого эффекта, чтобы TImage видоизменялся? Например, по нажатию горячих клавиш. При попытке сделать PerspEffect1.TopLeft.X := PerspEffect1.TopLeft.X + 5; Получаю ошибку вида "E2064 Left side cannot be assigned to". Понимаю, что нужна другая конструкция, но не могу сообразить, какая. В официальной документации к компоненту примеров кода не нашел, только одна строчка, которая мне непонятна: property BottomLeft: TPointF read GetBottomLeft write SetBottomLeft;
×
×
  • Создать...