| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > спрайты |
| Автор: Serzh 3.2.2004, 22:06 |
| народ! подскажите!!! имееться БМПехи в ресурсах. необходимо их прорисовывать. я это делаю с помощью MaskBlt но проблема в том, что он вроде как в 98 и 95 не потянет, по этому нужно пользовать BitBlt вот тут я попал в тупик - как в нем сделать фон прозрачный? |
| Автор: oleg1973 6.2.2004, 02:11 |
| по маске можно ручками или если BitBlt может установить прозрачность одного цвета, черного к примеру |
| Автор: Nastya 6.2.2004, 10:33 |
| TransporentBlt - может не показывать 1 цвет делать его прозрачным. Только в проект нужно lib какой-то подключить. В МЗДН написано какой. AlphaBlend - Настройка "прозрачности" всего рисунка. |
| Автор: oleg1973 6.2.2004, 21:24 |
| а если спрайтик уж больно цветастенький? |
| Автор: Serzh 9.2.2004, 02:39 | ||
не, маска мне не нужна. достаточно сделать один цвет прозрачным. если не сложно, можно примерчик, а то я с ропом эксперементировал и не чего не получилось? Nastya, про TransporentBlt ничего не нашел, но и судя по AlphaBlend он мне не понадобиться. не очень хочу ее мусором набивать (прогу всмысле). зарание всем спасибо! |
| Автор: Nastya 9.2.2004, 20:39 |
| Искюз TransparentBlt - The TransparentBlt function performs a bit-block transfer of the color data corresponding to a rectangle of pixels from the specified source device context into a destination device context. BOOL TransparentBlt( HDC hdcDest, // handle to destination DC int nXOriginDest, // x-coord of destination upper-left corner int nYOriginDest, // y-coord of destination upper-left corner int nWidthDest, // width of destination rectangle int hHeightDest, // height of destination rectangle HDC hdcSrc, // handle to source DC int nXOriginSrc, // x-coord of source upper-left corner int nYOriginSrc, // y-coord of source upper-left corner int nWidthSrc, // width of source rectangle int nHeightSrc, // height of source rectangle UINT crTransparent // color to make transparent ); Requirements Windows NT/2000: Requires Windows 2000. Windows 95/98: Requires Windows 98. Header: Declared in Wingdi.h; include Windows.h. Library: Included as a resource in Msimg32.dll. |
| Автор: Serzh 9.2.2004, 22:20 |
| ой! наверное я тормоз.... спасибо, Настя, но немогу я ее(TransparentBlt) прикрутить... мона примерчик? |
| Автор: Nastya 10.2.2004, 19:05 |
| Все делаешь так как в StretchBlt, только последним параметром даешь COLORREF. цвета котрый не надо выводить. И еще надо подключить Msimg32.lib В МС++6.0 Project->Setting->Link-> и там в список добавляшь Msimg32.lib |
| Автор: Serzh 10.2.2004, 20:45 |
| Nastya, ай лав ю!!! спасибо в общем!!! |
| Автор: Serzh 14.2.2004, 21:24 |
| Nastya, а как мне AlphaBlend запользовать? |
| Автор: Nastya 16.2.2004, 20:29 |
| Точно так, только последним параметром идет указатель на структуру типа BLENDFUNCTION. какие поля там не помню (одно там точно задает степень прозрачности от 0 до 255 ) |