Cambalinho
Power Member
eis como crio o meu HBITMAP:
agora tenho os pixels entre o HBITMAP e o destino(mesmo que seja HDC).
eu preciso de saber:
1 - será que a criação do HBITMAP permite usar o Alpha\Opacy?
2 - como calcular os 2 pixels para poder fazer o Opacy\AlphaBlend?
já fiz muitas pesquisas e admito que tenho a mesma pergunta noutros forums, mas sem sucesso
Código:
void New(unsigned int SizeWidth, unsigned int SizeHeight, COLORREF BackColor=RGB(0,0,0))
{
int BufferSize = SizeWidth * SizeHeight * sizeof(RGBQUAD);
if(BufferMemory) Disposed();
BufferMemory = VirtualAlloc(0, BufferSize,MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
Pixels =static_cast<RGBQUAD *> (BufferMemory);
Width = SizeWidth;
Height = SizeHeight;
ZeroMemory(&BitInfo, sizeof(BITMAPINFO));
BitInfo.bmiHeader.biSize = sizeof(BitInfo.bmiHeader);
BitInfo.bmiHeader.biWidth = Width;
BitInfo.bmiHeader.biHeight = -Height;
BitInfo.bmiHeader.biPlanes = 1;
BitInfo.bmiHeader.biBitCount = 32;
BitInfo.bmiHeader.biCompression = BI_RGB;
//BitInfo.bmiHeader.biSizeImage = BitInfo.bmiHeader.biWidth * (-BitInfo.bmiHeader.biHeight)* sizeof(RGBQUAD);
HBitmap = CreateBitmap(Width, Height,1,32,Pixels);
HDCBitmap = CreateCompatibleDC(NULL);
OldHBitmap= (HBITMAP)SelectObject(HDCBitmap, HBitmap);
Clear(BackColor);
}
eu preciso de saber:
1 - será que a criação do HBITMAP permite usar o Alpha\Opacy?
2 - como calcular os 2 pixels para poder fazer o Opacy\AlphaBlend?
já fiz muitas pesquisas e admito que tenho a mesma pergunta noutros forums, mas sem sucesso