Delphi: изображение с возможностями альфа-смешивания - PullRequest
1 голос
/ 08 июня 2010

Есть ли какой-нибудь простой компонент, который может отображать 32-битные изображения PNG и смешивать его с другим изображением при вводе мышью и при отпускании мыши?Или даже простое изображение, которое может загружать 32-битный PNG и дополнительно иметь параметр Alpha ...

Полагаю, я мог бы использовать некоторую библиотеку скинов (alphacontrols?) Или некоторую графическую библиотеку, но для некоторых простовизуальные эффекты, которые были бы довольно излишними, и я не могу найти простой, который бы сделал это для меня и работал бы на поверхности стекла ...

Ответы [ 2 ]

1 голос
/ 09 июня 2010

Базовый TImage способен отображать изображение в формате PNG и альфа-смешивать его с тем, что находится за ним. Вам просто нужно добавить модуль "pngimage" в предложение использования вашей формы. Вы не упомянули версию Delphi, на которой вы работаете: Delphi 2010 имеет этот аппарат, но я не знаю, с какой версией Delphi они начали его поставлять. Для Delphi 7 я точно знаю, что вам нужно найти «pngimage» с открытым исходным кодом.

Если вам нужно сделать это, когда пользователь входит и выходит из вашего элемента управления, рассмотрите возможность кэширования изображений состояния в растровых изображениях: это будет быстрее во время выполнения, и вы можете использовать один TImage, показывающий текущее изображение, вы не не нужны два перекрывающихся элемента управления TIMage.

1 голос
/ 08 июня 2010

Это не совсем компонент, но вот ссылка на хорошую статью о том, как сделать это самостоятельно.Это всего лишь несколько строк кода:

http://melander.dk/articles/alphasplash/

...