(GDI)AlphaBlend

时间:2012-03-22 19:09:57

标签: c winapi gdi

这个问题是跟进Win32 (GDI) - Set Opacity of STATIC Control

我的问题是我的alpha混音功能不起作用,我想知道是否有人帮助我?

以下是设置WndProc

case WM_PAINT:
    OnChildPaint(BeginPaint(hWnd, &ps));
    EndPaint(hWnd, &ps);
    break;

我的OnChildPaint功能:

BOOL
OnChildPaint(HDC i_hDC)
{

    HDC hMemDC;
    HGDIOBJ hOldObj;
    HBITMAP hBitmap;

    BLENDFUNCTION blendFunc_s = {AC_SRC_OVER, 0, 128, AC_SRC_ALPHA};

    hMemDC  = CreateCompatibleDC(i_hDC);
    hBitmap = CreateCompatibleBitmap(hMemDC, 100, 100);
    /* hBrush  = CreateSolidBrush(RGB(255, 0, 0)); */
    hOldObj = SelectObject(hMemDC, hBitmap);

    BitBlt(i_hDC, 10, 100, 100, 100, hMemDC, 0, 0, SRCCOPY);

    AlphaBlend(i_hDC, 10, 100, 100, 100, hMemDC, 10, 100, 100, 100, blendFunc_s);

    SelectObject(hMemDC, hOldObj);
    DeleteObject(hMemDC);
    return TRUE;
}

请记住,我没有使用实际的位图图像(没有图像)。

由于

0 个答案:

没有答案