Rodion Опубликовано 3 декабря, 2014 Поделиться Опубликовано 3 декабря, 2014 Привет всем.Есть одна проблема не получается нарисовать полупрозрачное меню. функции рисовки >_>void FillRGB( int x, int y, int w, int h, D3DCOLOR color, IDirect3DDevice9* pDevice ){ if( w < 0 )w = 1; if( h < 0 )h = 1; if( x < 0 )x = 1; if( y < 0 )y = 1; D3DRECT rec = { x, y, x + w, y + h }; pDevice->Clear( 1, &rec, D3DCLEAR_TARGET, color, 0, 0 );}void DrawBorder( int x, int y, int w, int h, int px, D3DCOLOR BorderColor, IDirect3DDevice9* pDevice ){ FillRGB( x, (y + h - px), w, px, BorderColor, pDevice ); FillRGB( x, y, px, h, BorderColor, pDevice ); FillRGB( x, y, w, px, BorderColor, pDevice ); FillRGB( (x + w - px), y, px, h, BorderColor, pDevice );}void DrawBox( int x, int y, int w, int h, D3DCOLOR BoxColor, D3DCOLOR BorderColor, IDirect3DDevice9* pDevice ){ FillRGB( x, y, w, h, BoxColor, pDevice ); DrawBorder( x, y, w, h, 1, BorderColor, pDevice );}color который использую#define BLACK D3DCOLOR_ARGB(55, 0, 0, 0)#define YELLOW D3DCOLOR_ARGB(255, 255, 255, 0)вызов функцииDrawBox(10, 15, 190, 125, BLACK, YELLOW, pDevice); Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 4 декабря, 2014 Поделиться Опубликовано 4 декабря, 2014 Тебе нужно использовать альфа-канал, который отвечает за прозрачность.RGBA формат.Первые 3 это код цвета (Красный, Зеленый, Синий), а посл. это А - Альфа канал (от 0 до 255 регулируется уровень прозрачности, если я конечно ничего не путаю). Ссылка на комментарий Поделиться на другие сайты Поделиться
Rodion Опубликовано 5 декабря, 2014 Автор Поделиться Опубликовано 5 декабря, 2014 Нее уже пробовал, альфа канал почему то игнорирует, в поиске тоже нашол примерную проблему но небыла там решения((( Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения