TransparentBlt - Альфа каналы - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming

Программирование / Programming
Ищете помощи в написании программы, есть сложность в выполнении задания (в институте и т.д.), пожалуйста, спросите у нас в данном форуме и мы обязательно вам поможем.

Описание темы:C++

Закрытая тема
Опции темы
Непрочитано 21.09.2012, 23:29   #1
Забанен за кидаловo/обман/развод

Автор темы (Топик Стартер) TransparentBlt - Альфа каналы

(Для любителей графики и чистого винАпи!!!)
Парни ну выручайте, уже долгое время пытаюсь побороть альфу на транспаренте
Метод инициализации окна с битмапом:

 
void SPLASH::Init(HWND hWnd,HINSTANCE hInst,int resid,int x,int y)
{
	HBITMAP hBmp = LoadBitmap(hInst,MAKEINTRESOURCE(resid));
	if(hBmp)
	{
		HDC hDc=GetDC(hWnd);
		hdcMem = CreateCompatibleDC(hDc);
		SelectObject(hdcMem, hBmp);
		GetObject(hBmp, sizeof(bm), &bm);
		TransparentBlt(hDc, 0, 0, 251, 209, hdcMem, 0, 0, 251, 209, RGB(255, 255, 255));
		//Rectangle(dc,10,156,150,154);
		hParentWindow=hWnd;
		hSplashWnd=CreateWindowEx(WS_EX_NOACTIVATE, L"STATIC", L"", WS_POPUP|SS_BITMAP|WS_VISIBLE, x, y, 251, 209, hWnd, NULL, hInst, NULL);
		SendMessage(hSplashWnd, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBmp);
		this->SHOWING = FALSE;
		DeleteDC(hdcMem);
	}
}
Code: C
Естественно вызываю с мейнФрейма, предварительно создав окно + отцентрировав его:
		HWND hWnds = CreateWindowEx(NULL,L"STATIC",0,NULL,0,0,0,0,hWND,NULL,hinstDLL,NULL); //WS_OVERLAPPEDWINDOW
		GetWindowRect (hWnds, &rc);
		int xPos = (GetSystemMetrics(SM_CXSCREEN) - rc.right)/2;
		int yPos = (GetSystemMetrics(SM_CYSCREEN) - rc.bottom)/2;
		SetWindowPos(hWnds, NULL, xPos, yPos, 251, 209, SWP_NOZORDER | SWP_NOSIZE );
		splashload.Init(hWnds,hinstDLL,IDB_SPLASHLOAD,xPos,yPos);
Code: C
Суть проблемы:
Тупо не выводит долбаный битмап При этом если - убрать с окон - ВС_ВИЗИБЛ, то битмап прогружается но с белым фоном (маской)...Что не так делаю? Куда копать? Может с положениями окон дела? Либо не верный ДС выбрал?!!

----
Вопрос снят. Переделал всё.

Последний раз редактировалось KilRoy; 25.09.2012 в 15:01.
KilRoy вне форума Отправить сообщение для KilRoy с помощью ICQ Отправить сообщение для KilRoy с помощью Skype™
Закрытая тема


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ID предметов в 2.2.3 MMd Документация 1 28.12.2009 01:03


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 10:16. Часовой пояс GMT +3.

Вверх