Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Кнопка с картинкой с прозрачностью |
Автор: Riddik 25.5.2013, 19:47 |
Привет. Вроде как обычные битмапы альфу не умеют? Как такие штуки делаются: ![]() Кнопки можно стандартные, но как использовать картинку с альфа-каналом (без GDI+)? Приложение умеет загружать png-картинки. Как на кнопку после этого "посадить" эту картинку? |
Автор: Dem_max 26.5.2013, 05:54 |
Загружается PNG, декодируется в BITMAP потом на стандартным битмапом делается TransparentBlt() или GdiAlphaBlend() и дальше выводиться на экран. если у тебя обычный BITMAP я бы воспользовался с флагом LoadImage(................., LR_LOADTRANSPARENT) ну и ссылки в тему Самая главная: http://forum.vingrad.ru/act-Search/CODE/show/searchid-f1395d206d0d2f9d55b28a1ef43dbeb7/search_in-posts/result_type/topics/flag/search/highlite/transparentblt/index.html http://forum.sources.ru/index.php?showtopic=275223&hl=transparentblt http://forum.sources.ru/index.php?showtopic=325949&hl=transparentblt http://forum.sources.ru/index.php?showtopic=353034&hl=transparentblt P.S. а чем тебе GDI+ не угодил ??? |
Автор: Riddik 26.5.2013, 11:11 |
Спасибо! ![]() Чем GDI+ не угодил? Да как-то совсем не сталкивался) |
Автор: Dem_max 26.5.2013, 14:19 |
Просто с GDI+ это делается проще. Вот держи пример рабочий, он загружает рисунок из ресурсов и выводит на окно, а из окна делает форму окна по контуру рисункa. Тебе только не делать последнее(выделенным). |
Автор: Riddik 26.5.2013, 18:44 |
Спасибо) |
Автор: GremlinProg 27.5.2013, 07:52 |
Без GDI+ это делается переводом png в http://forums.getpaint.net/index.php?/topic/11201-alpha-32bits-bitmap-support-for-paintnet/ и загрузкой либо напрямую из ресурса (для версий растра v4 или v5 ) с последующим импортом через SetDIBits (соответственно, через DIB-секцию) либо через LoadImage (для первой версии растра), а сама отрисовка такого растра - через AlphaBlend. |
Автор: Dem_max 27.5.2013, 09:02 | ||
А что теперь уже LoadImage может загружать PNG формат ??? |
Автор: GremlinProg 27.5.2013, 09:14 |
нет, конечно, про png ни чего не писал |
Автор: akizelokro 18.8.2013, 21:09 |
Многослойные окна не пробовали? |