Странные проблемы о преобразовании между GDI + к GDI: Bitmap и HBitmap

голоса
1

Я хочу, чтобы преобразовать GDI + Bitmap в объект GDI HBitmap.

Я использую следующий метод:

   Bitmap* img = new Bitmap(XXX);
            // lots of codes...
    HBITMAP temp;
    Color color;
    img->GetHBITMAP(color, &temp);

объект IMG рисует на окне. когда эта часть методы называется, странная вещь! IMG отображения в окне изменилось! Это стало немного яснее и четче. Мой вопрос: что происходит?

Задан 10/12/2008 в 03:25
источник пользователем
На других языках...                            


1 ответов

голоса
2

Формат пикселей битовой карты может быть причиной. Как вы указать его явно в конструкторе Bitmap?

Gdiplus::Bitmap bmp(WIDTH, HEIGHT, PixelFormat24bppRGB);

Попробуйте убедиться, что все форматы пиксельных вы используете одни и те же.

Другая причина может быть различием в Gdiplus::Graphicsрежимах интерполяции в вашем коде. Этот атрибут определяет , как изображения изменяются, как линии нарисованы, и т.д.

m_pViewPortImage = new Gdiplus::Bitmap(
    observedWidth,
    observedHeight,
    PixelFormat24bppRGB
);

Gdiplus::Graphics gr(m_pViewPortImage);
gr.SetInterpolationMode(Gdiplus::InterpolationModeHighQualityBicubic);
Ответил 19/03/2009 в 08:10
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more