Поделиться через


CImage::CreateEx

Создает растровое изображение и CImage вложение его на ранее созданный объект CImage.

BOOL CreateEx( 
   int nWidth, 
   int nHeight, 
   int nBPP, 
   DWORD eCompression, 
   const DWORD* pdwBitmasks = NULL, 
   DWORD dwFlags = 0  
) throw( );

Параметры

  • nWidth
    Ширина растрового изображения в пикселях. CImage

  • nHeight
    Высота растрового изображения CImage в пикселях. Если nHeight положительно, то растровое изображение вверх ногами DIB и его начало координат нижнем левом углу. Если nHeight отрицательное, то растрового изображения DIB сверху вниз, и его левый верхний угол начала координат.

  • nBPP
    Число бит на точку в растровом изображении. Как правило, 4, 8, 16, 24 или 32. Может быть 1 для растровых изображений или масок монохромного.

  • eCompression
    Указывает тип сжатия для сжатого вверх ногами растрового изображения Dib (сверху вниз нельзя сжать). Может иметь одно из следующих значений:

    • BI_RGB Формат распакованные. Указание этого значения равнозначно вызову CImage::Create вызывающий CImage::CreateEx.

    • BI_BITFIELDS Формат распакованные и таблица цвета состоит из 3 масок цвета DWORD, которые определяют красного, зеленого и синего компонентов соответственно каждой точки. Это допустимо при использовании с 16 32 bpp растровых изображений - and.

  • pdwBitfields
    Общий eCompression только если установлено в BI_BITFIELDS, в противном случае это значение должно быть NULL. Указатель на массив 3 битовых масок DWORD, указав, которые используются для каждого пикселя разрядов (красного, зеленого и синего компонентов цвета, соответственно. Дополнительные сведения об ограничениях, разряды см. в разделе BITMAPINFOHEADER в Windows SDK.

  • dwFlags
    Определяет, является ли объект растрового изображения имеет альфа-канал. Сочетание может иметь ноль или более следующих значений:

    • createAlphaChannel Можно использовать только, если nBPP 32 и eCompressionBI_RGB. Если этот параметр задан, созданный образ имеет значение альфы-версии (прозрачности) для каждого пикселя, хранящиеся в 4 байте ом каждой точки (неиспользуемых в соответствии альфы-версии, отличного от 32 разрядном). Этот альфа-канал автоматически используется при вызове CImage::AlphaBlend.

      Примечание

      При вызовах CImage::Draw, образы с альфа-каналом автоматически альфа-версия смешанная в назначение.

Возвращаемое значение

Если TRUE успешно. в противном случае FALSE.

Пример

В следующем примере создается растрового изображения в пикселях 100x100, с помощью 16 байт для кодирования каждого пиксель. В заданном 16 разрядном пикселе, биты 0-3 кодируют красный компонент, биты 4-7 кодируют зеленой, и биты 8-11 кодируют синий. Оставшиеся 4 бита неиспользуемый.

DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);

Требования

Header: atlimage.h

См. также

Ссылки

CImage Class

CImage::CImage

CImage::Create

CImage::AlphaBlend