Битмап выходит за рамки окна

Рейтинг: 0Ответов: 1Опубликовано: 12.07.2023

Есть картинка загруженная с помощью gdi+, но при отображении она выходит за рамки окна. Есть ли способ масштабировать HBITMAP

вот код отображения:

void UI::DrawDef(DRAWITEMSTRUCT* dc)
{
    
        HBITMAP backBitmap = NULL;
        BYTE r = GetRValue(this->defBack),
            g = GetGValue(this->defBack),
            b = GetBValue(this->defBack);

        this->backImage->GetHBITMAP(Gdiplus::Color(r, g, b), &backBitmap);
        HDC nDC = CreateCompatibleDC(dc->hDC);
        HBITMAP old = (HBITMAP)SelectObject(nDC, backBitmap);


        BitBlt(dc->hDC, 0, 0, dc->rcItem.right, dc->rcItem.bottom, nDC, 0, 0, SRCCOPY);
        SelectObject(nDC, old);
        DeleteDC(nDC);
        DeleteObject(old);
        DeleteObject(backBitmap);
}

Вот собственно результат:

Ответы

▲ 0

Спасибо @MBo, благодаря его комментарию вопрос решился. Нужно было вместо BitBlt использовать StretchBlt