Использование TransparentBlt - PullRequest
       22

Использование TransparentBlt

1 голос
/ 30 января 2012

Я пытаюсь разобраться, используя функцию TransparentBlt в Visual C ++ MFC. Чего я хочу достичь, так это наложить один битовый массив поверх другого. Первое растровое изображение - это просто стандартный Stretchblt. Второе растровое изображение должно быть размещено поверх фона первого растрового изображения. Я сделал фон для второго значка растрового изображения розовым, и я не хочу, чтобы розовый был видимым. По сути, я просто хочу использовать функцию для отображения значка, не показывая розовый, как мне это сделать?

#define TRANSPARENT_MASK RGB(250,84,248)

Вот как я сделал свои растровые изображения нижнего слоя.

 argDC->StretchBlt(WindowRect.left,WindowRect.top,WindowRect.Width(),WindowRect.Height(),
                  &memDC,0,0,bits.bmWidth-1, bits.bmHeight-1, SRCCOPY);

1 Ответ

1 голос
/ 30 января 2012

Последний аргумент TransparentBlt - crTransparent - цвет, который должен быть «прозрачным».Вы должны указать TRANSPARENT_MASK в вашем случае

...