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