2

基本的に、単色の表面の上に直接描画すると、アルファ付きの画像は正しく描画されますが、ウィンドウが透明な領域に当たると、アルファ値付きの PNG の背景が白くなり始めます。

うまくいけば、私のコードが何が起こっているのかを解読するのに役立ちます. すべての助けに感謝します。

GDI+ 描画

Image indicator(L"resources\\images\\floating_icon [a] 1.png", FALSE);
g.DrawImage(&indicator, 0, 0);

TextureBrush myTextureBrush(&indicator);
g.FillRectangle(&myTextureBrush, WindowPadding, 50, WindowDim.right - WindowPadding * 2, WindowPadding);

ウィンドウのプロパティ

hWnd = CreateWindowEx(0, szWindowClass, szTitle, WS_POPUP | WS_OVERLAPPED,
    0, 0, WindowDim.right, WindowDim.bottom, NULL, NULL, hInstance, NULL);

SetLayeredWindowAttributes(hWnd, RGB(255, 255, 255), 0,
    LWA_COLORKEY);
4

1 に答える 1