Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Частичная прозрачность [D7, WinXP]


Страницы:   1 2

маленький человек ©   (2005-10-25 05:44:00) 

Доброго времени суток уважаемые... подскажите пожалусто каким образом можно реализовать следующее - частичную прозрачность формы.
Типичным примером является меню "ПУСК". Если поперетаскивать ярлыки из ПУСК->Программы, то  во время перемещения элемент меню будет "градиентно" прозрачным...

Интересно как же это можно сделать самому?

З.Ы. Все вышесказанное относится к ХР...


Antonn   (2005-11-07 11:02:00) [21]

маленький человек   (07.11.05 10:00) [12]
у какой грамотный сабж... ну никогда такого не встречал...

для уточнения: сабж (subject) - тема. Спросил ты, можно ли "Частичная прозрачность" через UpdateLayeredWindow?


маленький человек   (2005-11-07 10:15:00) [22]

http://www.am-ende.net/delphi/alphaeffects/- вот тут если кого интересует частичная прозрачность...


маленький человек   (2005-11-07 10:00:00) [23]

у какой грамотный сабж... ну никогда такого не встречал...


Antonn   (2005-11-07 09:14:00) [24]

мона.


маленький человек   (2005-11-07 07:21:00) [25]

Сабж мона?


Antonn   (2005-11-07 05:25:00) [26]

сказали же уже, смотри UpdateLayeredWindow!


маленький человек   (2005-11-07 05:16:00) [27]

перевелись мастера делфи :(


маленький человек   (2005-11-02 05:32:00) [28]

up


маленький человек   (2005-10-31 13:41:00) [29]

Может многоуважаемые мастера что подскажут? или неужели они ничего не знают по этому поводу?


vers   (2005-10-27 17:23:00) [30]

компоненты TPngObject и набор компонент PNGComponents могут рисовать 32-битные картинки в формате png, может это поможет?


Antonn   (2005-10-27 12:09:00) [31]

маленький человек   (25.10.05 5:44)
сам ищу, как так сделать...
есть функция UpdateLayeredWindow, она 32 битный битмап просит, и по алфаканалу пррозрачность выставляет. но плохо то, что после ее использования ни один контрол не виден...


SpellCaster   (2005-10-27 12:05:00) [32]

form.alphablend:=true;
form.alphablendvalue:=200;


маленький человек   (2005-10-25 11:25:00) [33]

Хе... это все прекрастно... но мне бы именно через альфу...?


ZeroDivide   (2005-10-25 08:52:00) [34]

Алгоритм:

     R := GetRValue(ColorToRGB(cl));
     G := GetGValue(ColorToRGB(cl));
     B := GetBValue(ColorToRGB(cl));
     Rr := GetRValue(t.Canvas.Pixels[m-dx, n-dy]);
     Gg := GetGValue(t.Canvas.Pixels[m-dx, n-dy]);
     Bb := GetBValue(t.Canvas.Pixels[m-dx, n-dy]);
     R :=(Transparency*R+(100-Transparency)*Rr) div 100;
     G :=(Transparency*G+(100-Transparency)*Gg) div 100;
     B :=(Transparency*B+(100-Transparency)*Bb) div 100;
     t.Canvas.Pixels[m-dx, n-dy] := RGB(R, G, B);

Transparency от 0 до 100. Можешь менять для разных точек в зависимости от их расположения. Таким образом можешь какие угодно градиенты делать.

Есть еще AlphaBlend и AlphaBlendValue у формы, но градиента они тебе не дадут.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо