(GDI) AlphaBlend - PullRequest
       40

(GDI) AlphaBlend

1 голос
/ 22 марта 2012

Этот вопрос является продолжением Win32 (GDI) - Установить непрозрачность STATIC Control

Моя проблема в том, что моя функция альфа-смешивания не работает, и мне было интересно, если кто-то мне поможет?

Вот настройка 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;
}

Имейте в виду, что я не работаю сфактическое растровое изображение (изображения нет).

Спасибо

...