Aracılığıyla paylaş


CImage::CreateEx

Oluşturur bir CImage bitmap ve önceden oluşturulmuş iliştirmek CImage nesnesi.

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

Parametreler

  • nWidth
    Genişliğini CImage piksel bitmap.

  • nHeight
    Yüksekliği, CImage piksel bitmap.nHeight Aşağıdan yukarıya DIB bit eşlemdir ve kendi başlangıç sol alt köşesinde ise pozitif.nHeight , Negatif, yukarıdan aşağıya DIB eşlemdir sol üst köşesinde kendi başlangıç olduğunu.

  • nBPP
    Bitmap piksel başına bit sayısı.Genellikle 4, 8, 16, 24 veya 32.Tek renkli bit eşlemler veya maskeler için 1 olabilir.

  • eCompression
    (Yukarıdan aşağıya DIB'leri sıkıştırılamaz) sıkıştırılmış aşağıdan yukarıya bit eşlem sıkıştırma türünü belirtir.Aşağıdaki değerlerden biri olabilir:

    • BI_RGB sıkıştırılmamış biçimidir.Çağırırken bu değer belirterek CImage::CreateEx arama için eşdeğeri olan CImage::Create.

    • BI_BITFIELDS biçimi sıkıştırılmamış ve üç renk tablosu oluşur DWORD belirten kırmızı renkli maskeler yeşil ve bileşenleri, sırasıyla her pikseli mavi.Bu, 16 ve 32 bpp bitmaplerle kullanıldığında geçerlidir.

  • pdwBitfields
    Yalnızca kullanılan eCompression ayarlamak BI_BITFIELDS, aksi halde olmalıdır null.Üç dizisi için bir işaretçi DWORD bitmasks hangi bitlerin her bir pikselin kırmızı, kullanılan belirterek, yeşil ve renk bileşenlerini sırasıyla mavi.Bitfields için kısıtlamalar hakkında daha fazla bilgi için bkz: BITMAPINFOHEADER , Windows SDK.

  • dwFlags
    Bitmap nesnesinin alfa kanalına sahip olup olmadığını belirtir.Sıfır veya daha fazla aşağıdaki değerleri birleşimi olabilir:

    • createAlphaChannel , yalnızca kullanılabilir nBPP , 32'dir ve eCompression olan BI_RGB.Belirtilmişse, oluşturulan görüntüde 4 baytlık (alpha 32-bit görüntüde kullanılmayan) her pikselin depolanan her piksel için alfa (saydamlık) değeri vardır.Bu alfa kanalı otomatik olarak çağrılırken kullanılan CImage::AlphaBlend.

      [!NOT]

      Çağrılarda CImage::Draw, alfa kanalına sahip görüntüler otomatik olarak alfa hedefe karıştırılan.

Dönüş Değeri

GERÇEK başarılı olursa.Aksi halde yanlış.

Örnek

Aşağıdaki örnek, her bir pikselin kodlamak için 16 bit kullanarak 100 x 100 piksel bitmap, oluşturur.Belirli bir 16-bit piksel bitleri 0-3 kırmızı bileşenini kodlamak 4-7 bit kodlama yeşil ve mavi 8-11 bit kodlama.Geri kalan 4 bit kullanılmamış.

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

Gereksinimler

Başlık: atlimage.h

Ayrıca bkz.

Başvuru

CImage sınıfı

CImage::CImage

CImage::Create

CImage::AlphaBlend