@TotTip

Как в paintbox нарисовать полупрозрачный прямоугольник?

Здравствуйте!
Как в paintbox нарисовать полупрозрачный прямоугольник?
я пробовал экспериментировать с Canvas.Pen.Mode, но это не совсем тот эффект который нужен - прямоугольник получается слишком ярким(скрин прикрепил).
Как я понял, просто с Canvas.Rectangle это сделать не получится(поправьте если не прав).
Пока в голову пришло такое решение: при рисовании прямоугольника помещать его на bitmap, у bitmap менять прозрачность и потом этот bitmap рисовать на paintbox.
Для прозрачности наткнулся на такую штуку https://sourceforge.net/projects/tfastdib/ (мб есть какие то другие варианты?)

Проблема в том, что я не знаю как это реализовать на delphi - не понимаю, как реализовать момент с размещением нарисованного прямоугольника в bitmap и последующий перенос этого bitmap в то же место на paintbox.

Вообще суть этого прямоугольника - подобие текстовыделителя
В image загружается картинка и поверх нее располагается paintbox, пользователь может рисовать прямоугольники - выделять какие то области()

скрин

5eeb45a3e56c7203575619.png
  • Вопрос задан
  • 321 просмотр
Решения вопроса 1
HemulGM
@HemulGM Куратор тега Delphi
Delphi Developer, сис. админ
Через стандартный Canvas нельзя (или настолько костыльно) нарисовать полупрозрачный объект. Для этого можно использовать (в стандартном VCL) GDI+ или в новых версиях Delphi - TDirect2DCanvas
Рисовать с помощью Canvas вообще плохая идея. Минимум производительности.
Можешь сразу начинать изучать FMX (фреймворк FireMonkey). Он и кроссплатформенный и вся графика в нём рисуется через видеокарту. А значит быстро, по дефолту имеется сглаживание и прочее прочее.
И PaintBox можно найти в качестве примера и всё там посмотреть.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы