Ik ben aan een bestaand project aan het werken genaamd Neoncube, dit project repaint de achtergrond van de application met deze code
Dat werkt perfect alleen ondersteund het geen Alpha in 32bit BMP files
Naar flink wat google kwam ik uit op hetvolgende (GDI+)
Ik heb op verschillende manieren geprobeert dit te combineren maar tevergeefs het is helaas niet gelukt, ik ben nog behoorlijk nieuw in de c++ wereld en nog vol in de leer en ik zou het fijn vinden als iemand me een beetje kan helpen met dit samenvoegen en het liefst ook uitleg wat je precies hebt gedaan zodat ik er ook nog is van leer.
Mvg, Tim
Code:
BITMAP bm;
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
HDC hdcMem = CreateCompatibleDC(hdc);
HBITMAP hbmOld = (HBITMAP)SelectObject(hdcMem, hbmBackground);
GetObject(hbmBackground, sizeof(bm), &bm);
BitBlt(hdc, 0, 0, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY);
SelectObject(hdcMem, hbmOld);
DeleteDC(hdcMem);
EndPaint(hWnd, &ps);
Naar flink wat google kwam ik uit op hetvolgende (GDI+)
Code:
/ 1. Get info using bitmap handle: image size, bits
BITMAP bmpInfo;
::GetObject(m_hBitmap, sizeof(BITMAP), &bmpInfo);
int cxBitmap = bmpInfo.bmWidth;
int cyBitmap = bmpInfo.bmHeight;
void* bits = bmpInfo.bmBits;
// 2. Create & draw new GDI+ bitmap using bits with pixel format PixelFormat32bppARGB
Gdiplus::Graphics graphics(dcMemory);
Gdiplus::Bitmap bitmap(cxBitmap, cyBitmap, cxBitmap*4, PixelFormat32bppARGB, (BYTE*)bits);
graphics.DrawImage(&bitmap, 0, 0);
Ik heb op verschillende manieren geprobeert dit te combineren maar tevergeefs het is helaas niet gelukt, ik ben nog behoorlijk nieuw in de c++ wereld en nog vol in de leer en ik zou het fijn vinden als iemand me een beetje kan helpen met dit samenvoegen en het liefst ook uitleg wat je precies hebt gedaan zodat ik er ook nog is van leer.
Mvg, Tim