2010-06-08 1 views
1

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

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

ответ

1

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

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

1

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

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

+0

Он способен альфа-смешивать PRE-BLENDED .png обложку. Но это не позволяет динамически смешиваться во время исполнения с переменным значением Alpha по вашему выбору. По крайней мере, не написав кучу кода. –