Aracılığıyla paylaş


CImage Sınıf

CImage JPEG, GIF, BMP ve Taşınabilir Ağ Grafikleri (PNG) biçimlerinde görüntüleri yükleme ve kaydetme özelliği de dahil olmak üzere gelişmiş bit eşlem desteği sağlar.

Önemli

Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.

Sözdizimi

class CImage

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CImage::CImage Oluşturucu.

Genel Yöntemler

Veri Akışı Adı Açıklama
CImage::AlphaBlend Saydam veya yarı saydam piksellere sahip bit eşlemleri görüntüler.
CImage::Attach Nesneye bir HBITMAP CImage ekler. DIB olmayan bölüm bit eşlemleri veya DIB bölümü bit eşlemleri ile kullanılabilir.
CImage::BitBlt Kaynak cihaz bağlamından bu geçerli cihaz bağlamı için bit eşlem kopyalar.
CImage::Create Bir DIB bölüm bit eşlemi oluşturur ve daha önce oluşturulan CImage nesneye ekler.
CImage::CreateEx DiB bölüm bit eşlemi oluşturur (ek parametrelerle) ve daha önce oluşturulan CImage nesneye ekler.
CImage::Destroy Bit eşlemi nesneden CImage ayırır ve bit eşlemi yok eder.
CImage::Detach Bit eşlemi bir CImage nesneden ayırır.
CImage::Draw Kaynak dikdörtgenden hedef dikdörtgene bit eşlem kopyalar. Draw gerekirse bit eşlemi hedef dikdörtgenin boyutlarına uyacak şekilde genişletir veya sıkıştırır, alfa karıştırma ve saydam renkleri işler.
CImage::GetBits Bit eşlem gerçek piksel değerlerinin işaretçisini alır.
CImage::GetBPP Piksel başına bitleri alır.
CImage::GetColorTable Renk tablosundaki bir dizi girdiden kırmızı, yeşil, mavi (RGB) renk değerlerini alır.
CImage::GetDC Geçerli bit eşlemin seçildiği cihaz bağlamını alır.
CImage::GetExporterFilterString Kullanılabilir görüntü biçimlerini ve açıklamalarını bulur.
CImage::GetHeight Geçerli görüntünün yüksekliğini piksel cinsinden alır.
CImage::GetImporterFilterString Kullanılabilir görüntü biçimlerini ve açıklamalarını bulur.
CImage::GetMaxColorTableEntries Renk tablosundaki en fazla girdi sayısını alır.
CImage::GetPitch Geçerli görüntünün perdesini bayt cinsinden alır.
CImage::GetPixel ve ytarafından x belirtilen pikselin rengini alır.
CImage::GetPixelAddress Belirli bir pikselin adresini alır.
CImage::GetTransparentColor Renk tablosunda saydam rengin konumunu alır.
CImage::GetWidth Geçerli görüntünün genişliğini piksel cinsinden alır.
CImage::IsDIBSection Ekli bit eşlemin bir DIB bölümü olup olmadığını belirler.
CImage::IsIndexed Bit eşlem renklerinin dizinlenmiş paletle eşlendiğini gösterir.
CImage::IsNull Şu anda bir kaynak bit eşlem yüklenip yüklenmediğini gösterir.
CImage::IsTransparencySupported Uygulamanın saydam bit eşlemleri destekleyip desteklemediğini gösterir.
CImage::Load Belirtilen dosyadan bir görüntü yükler.
CImage::LoadFromResource Belirtilen kaynaktan bir görüntü yükler.
CImage::MaskBlt Belirtilen maske ve tarama işlemini kullanarak kaynak ve hedef bit eşlemler için renk verilerini birleştirir.
CImage::PlgBlt Kaynak cihaz bağlamındaki bir dikdörtgenden hedef cihaz bağlamındaki paralelograma bit bloğu aktarımı gerçekleştirir.
CImage::ReleaseDC ile CImage::GetDCalınan cihaz bağlamını serbest bırakır.
CImage::ReleaseGDIPlus GDI+ tarafından kullanılan kaynakları serbest bırakır. Genel CImage bir nesne tarafından oluşturulan kaynakları boşaltmak için çağrılmalıdır.
CImage::Save Görüntüyü belirtilen tür olarak kaydeder. Save görüntü seçeneklerini belirtemiyor.
CImage::SetColorTable DIB bölümünün renk tablosundaki bir dizi girdideki kırmızı, yeşil, mavi RGB) renk değerlerini ayarlar.
CImage::SetPixel Belirtilen koordinatlarda pikseli belirtilen renge ayarlar.
CImage::SetPixelIndexed Belirtilen koordinatlarda pikseli paletin belirtilen dizinindeki renge ayarlar.
CImage::SetPixelRGB Belirtilen koordinatlarda pikseli belirtilen kırmızı, yeşil, mavi (RGB) değerine ayarlar.
CImage::SetTransparentColor Rengin dizinini saydam olarak işlenecek şekilde ayarlar. Paletteki yalnızca bir renk saydam olabilir.
CImage::StretchBlt Bir bit eşlemi kaynak dikdörtgenden hedef dikdörtgene kopyalar, gerekirse bit eşlemi hedef dikdörtgenin boyutlarına uyacak şekilde genişleterek veya sıkıştırarak.
CImage::TransparentBlt Kaynak cihaz bağlamından bu geçerli cihaz bağlamı için saydam renkle bit eşlem kopyalar.

Ortak İşleçler

Veri Akışı Adı Açıklama
CImage::operator HBITMAP Nesneye bağlı Windows tutamacını CImage döndürür.

Açıklamalar

CImagecihazdan bağımsız bit eşlem (DIB) bölümleri olan veya olmayan bit eşlemleri alır; ancak yalnızca DIB bölümleriyle veya CImage::Load kullanabilirsinizCreate. kullanarak Attachbir nesneye DIB olmayan bir CImage bölüm bit eşlemi ekleyebilirsiniz, ancak ardından yalnızca DIB bölüm bit eşlemlerini destekleyen aşağıdaki CImage yöntemleri kullanamazsınız:

Ekli bit eşlemin DIB bölümü olup olmadığını belirlemek için çağrısında bulunur IsDibSection.

Not

Visual Studio .NET 2003'te bu sınıf, oluşturulan nesne sayısını CImage tutar. Sayım 0'a her gittiğinde, GDI+ tarafından kullanılan kaynakları serbest bırakmak için işlev GdiplusShutdown otomatik olarak çağrılır. Bu, DLL'ler tarafından doğrudan veya dolaylı olarak oluşturulan nesnelerin CImage her zaman düzgün bir şekilde yok edilmesini ve öğesinden DllMainçağrılmamasını GdiplusShutdown sağlar.

Not

DLL'de genel CImage nesneler kullanılması önerilmez. DLL'de genel CImage bir nesne kullanmanız gerekiyorsa, GDI+ tarafından kullanılan kaynakları açıkça serbest bırakmak için çağrısı CImage::ReleaseGDIPlus yapın.

CImage yeni CDCbir içine seçilemez. CImage görüntü için kendi HDC öğesini oluşturur. bir HBITMAP öğesi bir kerede yalnızca bir HDC içinde seçilebildiği için, HBITMAP ile CImage ilişkilendirilmiş olan başka bir HDCiçine seçilemez. gerekirseCDC, öğesini içinden CImage alın HDC ve öğesine CDC::FromHandleverin.

Örnekler

// Get a CDC for the image
CDC* pDC = CDC::FromHandle(m_myImage.GetDC());

// Use pDC here
pDC->Rectangle(0, 40, 100, 50);
m_myImage.ReleaseDC();

MFC projesinde kullandığınızda CImage , projenizdeki hangi üye işlevlerinin bir CBitmap nesneye işaretçi beklediğini unutmayın. gibi CMenu::AppendMenubir işlevle kullanmak CImage istiyorsanız, komutunu kullanınCBitmap::FromHandle, iletin CImage HBITMAPve döndürülen CBitmap*öğesini kullanın.

void CMyDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
    UNREFERENCED_PARAMETER(nFlags);

    CBitmap* pBitmap = CBitmap::FromHandle(m_myImage);
    m_pmenuPop->AppendMenu(0, ID_BMPCOMMAND, pBitmap);
    ClientToScreen(&point);
    m_pmenuPop->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x,
    point.y, this);
}

aracılığıyla CImagebir DIB bölümünün gerçek bitlerine erişebilirsiniz. Bir nesneyi daha önce Win32 HBITMAP veya DIB bölümü kullandığınız her yerde kullanabilirsinizCImage.

MFC veya ATL'den kullanabilirsiniz CImage .

Not

kullanarak CImagebir proje oluşturduğunuzda, eklemeden atlimage.hönce öğesini tanımlamanız CString gerekir. Projeniz MFC olmadan ATL kullanıyorsa, eklemeden önce ekleyin atlstr.h atlimage.h. Projeniz MFC kullanıyorsa (veya MFC desteğine sahip bir ATL projesiyse), afxstr.h eklemeden atlimage.hönce ekleyin.

Benzer şekilde, eklemeden atlimage.h önce atlimpl.cppeklemeniz gerekir. Bunu kolayca başarmak için , (stdafx.h Visual Studio 2017 ve önceki sürümlerine) ekleyin.atlimage.h pch.h

Gereksinimler

Üstbilgi: atlimage.h

CImage::AlphaBlend

Saydam veya yarı saydam piksellere sahip bit eşlemleri görüntüler.

BOOL AlphaBlend(
    HDC hDestDC,
    int xDest,
    int yDest,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER) const throw();

BOOL AlphaBlend(
    HDC hDestDC,
    const POINT& pointDest,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER) const throw();

BOOL AlphaBlend(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER);

BOOL AlphaBlend(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER);

Parametreler

hDestDC
Hedef cihaz bağlamı için tanıtıcı.

xDest
Hedef dikdörtgenin sol üst köşesinin mantıksal birimler halinde x koordinatı.

yDest
Hedef dikdörtgenin sol üst köşesinin mantıksal birimlerdeki y koordinatı.

bSrcAlpha
Kaynak bit eşleminin tamamında kullanılacak alfa saydamlık değeri. Varsayılan 0xff (255), görüntünüzün opak olduğunu ve yalnızca piksel başına alfa değerlerini kullanmak istediğinizi varsayar.

bBlendOp
Kaynak ve hedef bit eşlemler için alfa karıştırma işlevi, kaynak bit eşleminin tamamına uygulanacak genel alfa değeri ve kaynak bit eşlem için biçim bilgileri. Kaynak ve hedef blend işlevleri şu anda ile AC_SRC_OVERsınırlıdır.

pointDest
Mantıksal birimlerde hedef dikdörtgenin sol üst köşesini tanımlayan bir POINT yapı başvurusu.

nDestWidth
Hedef dikdörtgenin mantıksal birimler cinsinden genişliği.

nDestHeight
Hedef dikdörtgenin mantıksal birimlerdeki yüksekliği.

xSrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal x koordinatı.

ySrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal y koordinatı.

nSrcWidth
Kaynak dikdörtgenin mantıksal birimler cinsinden genişliği.

nSrcHeight
Kaynak dikdörtgenin mantıksal birimlerdeki yüksekliği.

rectDest
Hedefi tanımlayan bir RECT yapı başvurusu.

rectSrc
Kaynağı tanımlayan bir RECT yapı başvurusu.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Alfa-karışım bit eşlemleri, piksel başına renk karıştırmayı destekler.

bBlendOp varsayılan AC_SRC_OVERdeğerine ayarlandığında, kaynak bit eşlem, kaynak piksellerin alfa değerlerine göre hedef bit eşlem üzerine yerleştirilir.

CImage::Attach

hBitmap Bir CImage nesneye ekler.

void Attach(HBITMAP hBitmap, DIBOrientation eOrientation = DIBOR_DEFAULT) throw();

Parametreler

hBitmap
bir tutamacı HBITMAP.

eOrientation
Bit eşlem yönünü belirtir. Aşağıdakilerden biri olabilir:

  • DIBOR_DEFAULT Bit eşlem yönünü işletim sistemi belirler.

  • DIBOR_BOTTOMUP Bit eşlem çizgileri ters sıradadır. Bu, bit eşlem arabelleğinin sonuna yakın bir işaretçi döndürmeye ve CImage::GetPitch negatif bir sayı döndürmeye neden olurCImage::GetBits.

  • DIBOR_TOPDOWN Bit eşlem çizgileri en üstten en alta sıradadır. Bu, bit eşlem arabelleğinin ilk baytının işaretçisini döndürmeye ve CImage::GetPitch pozitif bir sayı döndürmeye neden olurCImage::GetBits.

Açıklamalar

Bit eşlem DIB olmayan bir bölüm bit eşlemi veya DIB bölüm bit eşlemi olabilir. Yalnızca DIB bölüm bit eşlemleriyle kullanabileceğiniz yöntemlerin listesi için bkz IsDIBSection .

CImage::BitBlt

Kaynak cihaz bağlamından bu geçerli cihaz bağlamı için bit eşlem kopyalar.

BOOL BitBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    const POINT& pointDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const POINT& pointSrc,
    DWORD dwROP = SRCCOPY) const throw();

Parametreler

hDestDC
Hedef HDC.

xDest
Hedef dikdörtgenin sol üst köşesinin mantıksal x koordinatı.

yDest
Hedef dikdörtgenin sol üst köşesinin mantıksal y koordinatı.

dwROP
Gerçekleştirilecek tarama işlemi. Raster-operation kodları, hedefi oluşturmak için kaynağın, hedefin ve desenin (seçili fırça tarafından tanımlandığı gibi) bitlerinin tam olarak nasıl birleştirildiğini tanımlar. Diğer raster-operation kodlarının ve açıklamalarının listesi için Windows SDK'sına bakın BitBlt .

pointDest
POINT Hedef dikdörtgenin sol üst köşesini gösteren bir yapı.

nDestWidth
Hedef dikdörtgenin mantıksal birimler cinsinden genişliği.

nDestHeight
Hedef dikdörtgenin mantıksal birimlerdeki yüksekliği.

xSrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal x koordinatı.

ySrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal y koordinatı.

rectDest
RECT Hedef dikdörtgeni gösteren bir yapı.

pointSrc
POINT Kaynak dikdörtgenin sol üst köşesini gösteren bir yapı.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde sıfır.

Açıklamalar

Daha fazla bilgi için bkz BitBlt . Windows SDK'sı.

CImage::CImage

Bir CImage nesne oluşturur.

CImage() throw();

Açıklamalar

Nesneyi oluşturduğunuzda, nesnesine bit eşlem eklemek için , Load, LoadFromResourceveya Attach çağrısı Createyapın.

Not Visual Studio'da bu sınıf, oluşturulan nesne sayısını CImage tutar. Sayım 0'a her gittiğinde, GDI+ tarafından kullanılan kaynakları serbest bırakmak için işlev GdiplusShutdown otomatik olarak çağrılır. Bu, DLL'ler tarafından doğrudan veya dolaylı olarak oluşturulan nesnelerin CImage her zaman düzgün bir şekilde yok edilmesini ve DllMain'den çağrılmamasını GdiplusShutdown sağlar.

DLL'de genel CImage nesneler kullanılması önerilmez. DLL'de genel CImage bir nesne kullanmanız gerekiyorsa, GDI+ tarafından kullanılan kaynakları açıkça serbest bırakmak için çağrısı CImage::ReleaseGDIPlus yapın.

CImage::Create

Bit CImage eşlem oluşturur ve daha önce oluşturulan CImage nesneye ekler.

BOOL Create(
    int nWidth,
    int nHeight,
    int nBPP,
    DWORD dwFlags = 0) throw();

Parametreler

nWidth
Bit eşlem genişliğini CImage piksel cinsinden gösterir.

nHeight
Bit eşleminin CImage piksel cinsinden yüksekliği. Pozitifse nHeight , bit eşlem bir alt yukarı DIB'dir ve başlangıcı sol alt köşedir. Negatifse nHeight , bit eşlem yukarıdan aşağı DIB ve başlangıcı sol üst köşedir.

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

dwFlags
Bit eşlem nesnesinin alfa kanalı olup olmadığını belirtir. Aşağıdaki değerlerden sıfır veya daha fazlasının birleşimi olabilir:

  • createAlphaChannelYalnızca 32 ve eCompression ise BI_RGBkullanılabilirnBPP. Belirtilirse, oluşturulan görüntünün her piksel için bir alfa (saydamlık) değeri vardır ve her pikselin 4. baytında depolanır (alfa olmayan bir 32 bit görüntüde kullanılmaz). Bu alfa kanalı çağrılırken CImage::AlphaBlendotomatik olarak kullanılır.

Not

çağrısında CImage::Draw, alfa kanalı olan görüntüler hedefe otomatik olarak alfa karıştırılır.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

CImage::CreateEx

Bit CImage eşlem oluşturur ve daha önce oluşturulan CImage nesneye ekler.

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

Parametreler

nWidth
Bit eşlem genişliğini CImage piksel cinsinden gösterir.

nHeight
Bit eşleminin CImage piksel cinsinden yüksekliği. Pozitifse nHeight , bit eşlem bir alt yukarı DIB'dir ve başlangıcı sol alt köşedir. Negatifse nHeight , bit eşlem yukarıdan aşağı DIB ve başlangıcı sol üst köşedir.

nBPP
Bit eşlem içindeki 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
Sıkıştırılmış bir alt yukarı bit eşlem için sıkıştırma türünü belirtir (yukarıdan aşağıya DIB'ler sıkıştırılamaz). Aşağıdaki değerlerden biri olabilir:

  • BI_RGB Biçim sıkıştırılmamış. Çağrılırken bu değerin belirtilmesi çağrısıyla CImage::CreateEx CImage::Createeşdeğerdir.

  • BI_BITFIELDS Biçim sıkıştırılmamıştır ve renk tablosu her pikselin sırasıyla kırmızı, yeşil ve mavi bileşenlerini belirten üç DWORD renk maskesinden oluşur. Bu, 16 ve 32 bpp bit eşlemlerle kullanıldığında geçerlidir.

pdwBitfields
Yalnızca olarak ayarlandıysa eCompression BI_BITFIELDSkullanılır, aksi takdirde olmalıdır NULL. Rengin kırmızı, yeşil ve mavi bileşenleri için her pikselin hangi bitlerinin kullanılacağını belirten üç DWORD bit maskesi içeren bir dizi işaretçisi. Bit alanlarıyla ilgili kısıtlamalar hakkında bilgi için bkz BITMAPINFOHEADER . Windows SDK'sında.

dwFlags
Bit eşlem nesnesinin alfa kanalı olup olmadığını belirtir. Aşağıdaki değerlerden sıfır veya daha fazlasının birleşimi olabilir:

  • createAlphaChannelYalnızca 32 ve eCompression ise BI_RGBkullanılabilirnBPP. Belirtilirse, oluşturulan görüntünün her piksel için bir alfa (saydamlık) değeri vardır ve her pikselin 4. baytında depolanır (alfa olmayan bir 32 bit görüntüde kullanılmaz). Bu alfa kanalı çağrılırken CImage::AlphaBlendotomatik olarak kullanılır.

    Not

    çağrısında CImage::Draw, alfa kanalı olan görüntüler hedefe otomatik olarak alfa karıştırılır.

Dönüş Değeri

TRUE başarılı olursa. Aksi takdirde FALSE.

Örnek

Aşağıdaki örnek, her pikseli kodlamak için 16 bit kullanarak 100x100 piksel bit eşlem oluşturur. Belirli bir 16 bit pikselde 0-3 bitleri kırmızı bileşeni, 4-7 bitleri yeşili ve 8-11 bitleri mavi kodlar. Kalan 4 bit kullanılmamış.

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

CImage::Destroy

Bit eşlemi nesneden CImage ayırır ve bit eşlemi yok eder.

void Destroy() throw();

CImage::Detach

Bit eşlemi bir CImage nesneden ayırır.

HBITMAP Detach() throw();

Dönüş Değeri

Bit eşlem tutamacını ayırma veya NULL bit eşlem iliştirilmemişse.

CImage::Draw

Bir bit eşlemi kaynak cihaz bağlamından geçerli cihaz bağlamlarına kopyalar.

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight) const throw();

BOOL Draw(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc) const throw();

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest) const throw();

BOOL Draw(
    HDC hDestDC,
    const POINT& pointDest) const throw();

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight) const throw();

BOOL Draw(
    HDC hDestDC,
    const RECT& rectDest) const throw();

Parametreler

hDestDC
Hedef cihaz bağlamı için bir tanıtıcı.

xDest
Hedef dikdörtgenin sol üst köşesinin mantıksal birimler halinde x koordinatı.

yDest
Hedef dikdörtgenin sol üst köşesinin mantıksal birimlerdeki y koordinatı.

nDestWidth
Hedef dikdörtgenin mantıksal birimler cinsinden genişliği.

nDestHeight
Hedef dikdörtgenin mantıksal birimlerdeki yüksekliği.

xSrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal birimler halinde x koordinatı.

ySrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal birimlerdeki y koordinatı.

nSrcWidth
Kaynak dikdörtgenin mantıksal birimler cinsinden genişliği.

nSrcHeight
Kaynak dikdörtgenin mantıksal birimlerdeki yüksekliği.

rectDest
Hedefi tanımlayan bir RECT yapı başvurusu.

rectSrc
Kaynağı tanımlayan bir RECT yapı başvurusu.

pointDest
Mantıksal birimlerde hedef dikdörtgenin sol üst köşesini tanımlayan bir POINT yapı başvurusu.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Draw , görüntü saydam bir renk veya alfa kanalı içermiyorsa ile aynı işlemi StretchBltgerçekleştirir. Bu durumda, Draw veya AlphaBlend gerektiği gibi TransparentBlt aynı işlemi gerçekleştirir.

Kaynak dikdörtgen belirtmeyen sürümleri Draw için, kaynak görüntünün tamamı varsayılandır. Hedef dikdörtgen için bir boyut belirtmeyen sürümü Draw için, kaynak görüntünün boyutu varsayılandır ve herhangi bir esnetme veya küçültme gerçekleşmez.

CImage::GetBits

Bit eşlem içindeki belirli bir pikselin gerçek bit değerlerinin işaretçisini alır.

void* GetBits() throw();

Dönüş Değeri

Bit eşlem arabelleği işaretçisi. Bit eşlem alttan yukarı DIB ise, işaretçi arabelleğin sonuna yakın bir noktayı gösterir. Bit eşlem yukarıdan aşağı BIR DIB ise, işaretçi arabelleğin ilk baytını gösterir.

Açıklamalar

Bu işaretçiyi ve tarafından GetPitchdöndürülen değeri kullanarak görüntüdeki pikselleri tek tek bulabilir ve değiştirebilirsiniz.

Not

Bu yöntem yalnızca DIB bölüm bit eşlemlerini destekler; sonuç olarak, bir CImage nesnenin piksellerine DIB bölümünün pikselleri gibi erişebilirsiniz. Döndürülen işaretçi, konumdaki pikseli (0, 0) gösterir.

CImage::GetBPP

Piksel başına bit değerini alır.

int GetBPP() const throw();

Dönüş Değeri

Piksel başına bit sayısı.

Açıklamalar

Bu değer, her pikseli tanımlayan bit sayısını ve bit eşlem içindeki en fazla renk sayısını belirler.

Piksel başına bit sayısı genellikle 1, 4, 8, 16, 24 veya 32'dir. biBitCount Bu değer hakkında daha fazla bilgi için Windows SDK'sının üyesine BITMAPINFOHEADER bakın.

CImage::GetColorTable

DIB bölümünün paletindeki bir dizi girdiden kırmızı, yeşil, mavi (RGB) renk değerlerini alır.

void GetColorTable(
    UINT iFirstColor,
    UINT nColors,
    RGBQUAD* prgbColors) const throw();

Parametreler

iFirstColor
Alınacak ilk girdinin renk tablosu dizini.

nColors
Alınacak renk tablosu girdilerinin sayısı.

prgbColors
Renk tablosu girdilerini almak için yapı dizisi RGBQUAD işaretçisi.

CImage::GetDC

Şu anda resmin seçili olduğu cihaz bağlamını alır.

HDC GetDC() const throw();

Dönüş Değeri

Cihaz bağlamı için tanıtıcı.

Açıklamalar

her çağrısı için GetDCsonraki bir çağrısına ReleaseDCsahip olmanız gerekir.

CImage::GetExporterFilterString

Görüntüleri kaydetmek için kullanılabilecek görüntü biçimlerini bulur.

static HRESULT GetExporterFilterString(
    CSimpleString& strExporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultSave,
    TCHAR chSeparator = _T('|'));

Parametreler

strExporters
Bir nesneye CSimpleString başvuru. Daha fazla bilgi için bkz . Açıklamalar .

aguidFileTypes
Dizedeki dosya türlerinden birine karşılık gelen her öğeyle birlikte bir GUID dizisi. Aşağıdaki örnekte pszAllFilesDescription is aguidFileTypes[0] GUID_NULL ve kalan dizi değerleri, geçerli işletim sistemi tarafından desteklenen görüntü dosyası biçimleridir.

Not

Sabitlerin tam listesi için bkz . Windows SDK'sında Görüntü Dosyası Biçim Sabitleri .

pszAllFilesDescription
Bu parametre değilse NULL, filtre dizesi listenin başında bir ek filtreye sahip olur. Bu filtre, açıklaması için geçerli değerine pszAllFilesDescription sahip olur ve listedeki diğer tüm dışarı aktarmalar tarafından desteklenen herhangi bir uzantının dosyalarını kabul eder.

Örneğin:

//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any exporter.
CImage::GetExporterFilterString(
    strExporters, aguidFileTypes,
_T("All Image Files"));

dwExclude
Listeden çıkarılacak dosya türlerini belirten bit bayrakları kümesi. İzin verilebilen bayraklar şunlardır:

  • excludeGIF = 0x01 GIF dosyalarını dışlar.

  • excludeBMP = 0x02 BMP (Windows Bit Eşlem) dosyalarını dışlar.

  • excludeEMF = 0x04 EMF (Gelişmiş Meta Dosyası) dosyalarını dışlar.

  • excludeWMF = 0x08 WMF (Windows Meta Dosyası) dosyalarını dışlar.

  • excludeJPEG = 0x10 JPEG dosyalarını dışlar.

  • excludePNG = 0x20 PNG dosyalarını dışlar.

  • excludeTIFF = 0x40 TIFF dosyalarını dışlar.

  • excludeIcon = 0x80 ICO (Windows Simgesi) dosyalarını dışlar.

  • excludeOther = 0x80000000 Yukarıda listelenmeyen diğer dosya türlerini dışlar.

  • excludeDefaultLoad = 0 Yükleme için tüm dosya türleri varsayılan olarak eklenir

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF Kaydetme için, genellikle özel gereksinimleri olduğundan bu dosyalar varsayılan olarak dışlanır.

chSeparator
Görüntü biçimleri arasında kullanılan ayırıcı. Daha fazla bilgi için bkz . Açıklamalar .

Dönüş Değeri

Standart HRESULTbir .

Açıklamalar

Elde edilen biçim dizesini MFC CFileDialog nesnenize geçirerek Dosya Farklı Kaydet iletişim kutusunda kullanılabilir görüntü biçimlerinin dosya uzantılarını kullanıma sunabilirsiniz.

parametresi strExporter şu biçime sahiptir:

file description 0|*.ext0|file description 1|*.ext1|...file description N|*.extN||

burada | tarafından chSeparatorbelirtilen ayırıcı karakterdir. Örneğin:

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

Bu dizeyi bir MFC CFileDialog nesnesine geçirirseniz varsayılan ayırıcıyı | kullanın. Bu dizeyi ortak bir Dosya Kaydetme iletişim kutusuna geçirirseniz null ayırıcısını '\0' kullanın.

CImage::GetHeight

Görüntünün yüksekliğini piksel cinsinden alır.

int GetHeight() const throw();

Dönüş Değeri

Görüntünün piksel cinsinden yüksekliği.

CImage::GetImporterFilterString

Görüntüleri yüklemek için kullanılabilecek görüntü biçimlerini bulur.

static HRESULT GetImporterFilterString(
    CSimpleString& strImporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultLoad,
    TCHAR chSeparator = _T('|'));

Parametreler

strImporters
Bir nesneye CSimpleString başvuru. Daha fazla bilgi için bkz . Açıklamalar .

aguidFileTypes
Dizedeki dosya türlerinden birine karşılık gelen her öğeyle birlikte bir GUID dizisi. Aşağıdaki örnekte pszAllFilesDescription *aguidFileTypes[0]* GUID_NULL değeri, geçerli işletim sistemi tarafından desteklenen görüntü dosyası biçimleridir.

Not

Sabitlerin tam listesi için bkz . Windows SDK'sında Görüntü Dosyası Biçim Sabitleri .

pszAllFilesDescription
Bu parametre değilse NULL, filtre dizesi listenin başında bir ek filtreye sahip olur. Bu filtre, açıklaması için geçerli değerine pszAllFilesDescription sahip olur ve listedeki diğer tüm dışarı aktarmalar tarafından desteklenen herhangi bir uzantının dosyalarını kabul eder.

Örneğin:

//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any importer.
CImage::GetImporterFilterString(
    strImporters, aguidFileTypes,
_T("All Image Files"));

dwExclude
Listeden çıkarılacak dosya türlerini belirten bit bayrakları kümesi. İzin verilebilen bayraklar şunlardır:

  • excludeGIF = 0x01 GIF dosyalarını dışlar.

  • excludeBMP = 0x02 BMP (Windows Bit Eşlem) dosyalarını dışlar.

  • excludeEMF = 0x04 EMF (Gelişmiş Meta Dosyası) dosyalarını dışlar.

  • excludeWMF = 0x08 WMF (Windows Meta Dosyası) dosyalarını dışlar.

  • excludeJPEG = 0x10 JPEG dosyalarını dışlar.

  • excludePNG = 0x20 PNG dosyalarını dışlar.

  • excludeTIFF = 0x40 TIFF dosyalarını dışlar.

  • excludeIcon = 0x80 ICO (Windows Simgesi) dosyalarını dışlar.

  • excludeOther = 0x80000000 Yukarıda listelenmeyen diğer dosya türlerini dışlar.

  • excludeDefaultLoad = 0 Yükleme için tüm dosya türleri varsayılan olarak eklenir

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF Kaydetme için, genellikle özel gereksinimleri olduğundan bu dosyalar varsayılan olarak dışlanır.

chSeparator
Görüntü biçimleri arasında kullanılan ayırıcı. Daha fazla bilgi için bkz . Açıklamalar .

Açıklamalar

Sonuçta elde edilen biçim dizesini MFC CFileDialog nesnenize geçirerek Dosya Aç iletişim kutusunda kullanılabilir görüntü biçimlerinin dosya uzantılarını kullanıma sunabilirsiniz.

parametresi strImporter şu biçime sahiptir:

'dosya açıklaması 0|. ext0|dosya açıklaması 1|. ext1|... dosya açıklaması N|*.extN||

burada | tarafından chSeparatorbelirtilen ayırıcı karakterdir. Örneğin:

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

Bu dizeyi bir MFC CFileDialog nesnesine geçirirseniz varsayılan ayırıcıyı | kullanın. Bu dizeyi ortak bir Dosya Aç iletişim kutusuna geçirirseniz null ayırıcısını '\0' kullanın.

CImage::GetMaxColorTableEntries

Renk tablosundaki en fazla girdi sayısını alır.

int GetMaxColorTableEntries() const throw();

Dönüş Değeri

Renk tablosundaki girdilerin sayısı.

Açıklamalar

Bu yöntem yalnızca DIB bölüm bit eşlemlerini destekler.

CImage::GetPitch

Görüntünün perdesini alır.

int GetPitch() const throw();

Dönüş Değeri

Görüntünün perdesi. Dönüş değeri negatifse, bit eşlem alttan yukarı DIB'dir ve başlangıcı sol alt köşedir. Dönüş değeri pozitifse, bit eşlem yukarıdan aşağı DIB' dir ve başlangıcı sol üst köşedir.

Açıklamalar

Aralık, bir bit eşlem çizgisinin başlangıcını ve sonraki bit eşlem çizgisinin başlangıcını temsil eden iki bellek adresi arasındaki bayt cinsinden uzaklıktır. Perde bayt cinsinden ölçülmüş olduğundan, görüntünün perdesi piksel biçimini belirlemenize yardımcı olur. Perde, bit eşlem için ayrılmış ek bellek de içerebilir.

Görüntünün tek tek piksellerini bulmak için ile kullanın GetPitch GetBits .

Not

Bu yöntem yalnızca DIB bölüm bit eşlemlerini destekler.

CImage::GetPixel

x ve y tarafından belirtilen konumda pikselin rengini alır.

COLORREF GetPixel(int x, int y) const throw();

Parametreler

x
Pikselin x koordinatı.

y
Pikselin y koordinatı.

Dönüş Değeri

Pikselin kırmızı, yeşil, mavi (RGB) değeri. Piksel geçerli kırpma bölgesinin dışındaysa, dönüş değeri olur CLR_INVALID.

CImage::GetPixelAddress

Bir pikselin tam adresini alır.

void* GetPixelAddress(int x, int y) throw();

Parametreler

x
Pikselin x koordinatı.

y
Pikselin y koordinatı.

Açıklamalar

Adres bir pikselin koordinatlarına, bit eşlem perdesine ve piksel başına bitlere göre belirlenir.

Piksel başına 8 bitten az olan biçimler için bu yöntem pikseli içeren bayt adresini döndürür. Örneğin, görüntü biçiminizde piksel başına 4 bit varsa bayttaki GetPixelAddress ilk pikselin adresini döndürür ve bayt başına 2 piksel hesaplamanız gerekir.

Not

Bu yöntem yalnızca DIB bölüm bit eşlemlerini destekler.

CImage::GetTransparentColor

Renk paletindeki saydam rengin dizine alınmış konumunu alır.

LONG GetTransparentColor() const throw();

Dönüş Değeri

Saydam rengin dizini.

CImage::GetWidth

Görüntünün genişliğini piksel cinsinden alır.

int GetWidth() const throw();

Dönüş Değeri

Bit eşlem genişliğini piksel cinsinden gösterir.

CImage::IsDIBSection

Ekli bit eşlemin bir DIB bölümü olup olmadığını belirler.

bool IsDIBSection() const throw();

Dönüş Değeri

TRUE ekli bit eşlem bir DIB bölümüyse. Aksi takdirde FALSE.

Açıklamalar

Bit eşlem bir DIB bölümü değilse, yalnızca DIB bölümü bit eşlemlerini destekleyen aşağıdaki CImage yöntemleri kullanamazsınız:

CImage::IsIndexed

Bit eşlem piksellerinin bir renk paletine eşlenip eşlenmediğini belirler.

bool IsIndexed() const throw();

Dönüş Değeri

TRUE dizine ekliyse; aksi takdirde FALSE.

Açıklamalar

Bu yöntem yalnızca bit eşlem 8 bit (256 renk) veya daha azsa döndürür TRUE .

Not

Bu yöntem yalnızca DIB bölüm bit eşlemlerini destekler.

CImage::IsNull

Şu anda bir bit eşlem yüklenip yüklenmediğini belirler.

bool IsNull() const throw();

Açıklamalar

Bu yöntem, bit eşlem şu anda yüklenmediyse döndürür TRUE ; aksi takdirde FALSE.

CImage::IsTransparencySupported

Uygulamanın saydam bit eşlemleri destekleyip desteklemediğini gösterir.

static BOOL IsTransparencySupported() throw();

Dönüş Değeri

Geçerli platform saydamlığı destekliyorsa sıfır olmayan. Aksi takdirde 0.

Açıklamalar

Dönüş değeri sıfır değilse ve saydamlık destekleniyorsa, , TransparentBltveya Draw çağrısı AlphaBlendsaydam renkleri işler.

CImage::Load

Bir görüntüyü yükler.

HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();

Parametreler

pszFileName
Yüklenecek görüntü dosyasının adını içeren bir dize işaretçisi.

pStream
Yüklenecek görüntü dosyasının adını içeren bir akış işaretçisi.

Dönüş Değeri

Standart HRESULTbir .

Açıklamalar

veya pStreamtarafından pszFileName belirtilen görüntüyü yükler.

Geçerli görüntü türleri BMP, GIF, JPEG, PNG ve TIFF'dir.

CImage::LoadFromResource

Bir kaynaktan BITMAP görüntü yükler.

void LoadFromResource(
    HINSTANCE hInstance,
    LPCTSTR pszResourceName) throw();

void LoadFromResource(
    HINSTANCE hInstance,
    UINT nIDResource) throw();

Parametreler

hInstance
Yüklenecek görüntüyü içeren modülün bir örneğini işleyebilir.

pszResourceName
Yüklenecek görüntüyü içeren kaynağın adını içeren dize işaretçisi.

nIDResource
Yüklenecek kaynağın kimliği.

Açıklamalar

Kaynak türünde BITMAPolmalıdır.

CImage::MaskBlt

Belirtilen maske ve tarama işlemini kullanarak kaynak ve hedef bit eşlemler için renk verilerini birleştirir.

BOOL MaskBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    HBITMAP hbmMask,
    int xMask,
    int yMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const POINT& pointSrc,
    HBITMAP hbmMask,
    const POINT& pointMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    HBITMAP hbmMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    const POINT& pointDest,
    HBITMAP hbmMask,
    DWORD dwROP = SRCCOPY) const throw();

Parametreler

hDestDC
Yürütülebilir dosyası kaynağı içeren modülün tanıtıcısı.

xDest
Hedef dikdörtgenin sol üst köşesinin mantıksal birimler halinde x koordinatı.

yDest
Hedef dikdörtgenin sol üst köşesinin mantıksal birimlerdeki y koordinatı.

nDestWidth
Hedef dikdörtgenin ve kaynak bit eşleminin mantıksal birimler cinsinden genişliği.

nDestHeight
Hedef dikdörtgenin ve kaynak bit eşleminin mantıksal birimlerdeki yüksekliği.

xSrc
Kaynak bit eşleminin sol üst köşesinin mantıksal x koordinatı.

ySrc
Kaynak bit eşleminin sol üst köşesinin mantıksal y koordinatı.

hbmMask
Kaynak cihaz bağlamındaki renk bit eşlemi ile birleştirilmiş tek renkli maske bit eşlemini tanıtın.

xMask
parametresi tarafından hbmMask belirtilen maske bit eşlemi için yatay piksel uzaklığı.

yMask
parametresi tarafından hbmMask belirtilen maske bit eşlemi için dikey piksel uzaklığı.

dwROP
Yöntemin kaynak ve hedef verilerin birleşimini denetlemek için kullandığı hem ön plan hem de arka plan üçüncül raster işlem kodlarını belirtir. Arka plan tarama işlemi kodu, bu değerin yüksek sıralı sözcüğünün yüksek sıralı baytında depolanır; ön plan raster işlem kodu, bu değerin yüksek sıralı sözcüğünün düşük sıralı baytında depolanır; bu değerin düşük sıralı sözcüğü yoksayılır ve sıfır olmalıdır. Bu yöntem bağlamında ön plan ve arka plan hakkında bir tartışma için Bkz MaskBlt . Windows SDK'sında. Yaygın raster işlem kodlarının listesi için Bkz BitBlt . Windows SDK'sı.

rectDest
Hedefi tanımlayan bir RECT yapı başvurusu.

pointSrc
POINT Kaynak dikdörtgenin sol üst köşesini gösteren bir yapı.

pointMask
POINT Maske bit eşleminin sol üst köşesini gösteren bir yapı.

pointDest
Mantıksal birimlerde hedef dikdörtgenin sol üst köşesini tanımlayan bir POINT yapı başvurusu.

Dönüş Değeri

Başarılı olursa sıfır olmayan, aksi takdirde 0.

Açıklamalar

Bu yöntem yalnızca Windows NT, sürüm 4.0 ve üzeri için geçerlidir.

CImage::operator HBITMAP

Nesnenin ekli Windows GDI tutamacını CImage almak için bu işleci kullanın. Bu işleç, bir nesnenin doğrudan kullanımını destekleyen bir HBITMAP atama işlecidir.

CImage::PlgBlt

Kaynak cihaz bağlamındaki bir dikdörtgenden hedef cihaz bağlamındaki paralelograma bit bloğu aktarımı gerçekleştirir.

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    HBITMAP hbmMask = NULL) const throw();

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    HBITMAP hbmMask = NULL,
    int xMask = 0,
    int yMask = 0) const throw();

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    const RECT& rectSrc,
    HBITMAP hbmMask = NULL,
    const POINT& pointMask = CPoint(0, 0)) const throw();

Parametreler

hDestDC
Hedef cihaz bağlamı için bir tanıtıcı.

pPoints
Hedef paralelkenarının üç köşesini tanımlayan mantıksal alanda üç noktadan oluşan bir diziye yönelik bir işaretçi. Kaynak dikdörtgenin sol üst köşesi bu dizinin ilk noktasına, sağ üst köşesi bu dizinin ikinci noktasına ve sol alt köşeden üçüncü noktaya eşlenir. Kaynak dikdörtgenin sağ alt köşesi paralelkenardaki örtük dördüncü noktaya eşlenir.

hbmMask
Kaynak dikdörtgenin renklerini maskelemek için kullanılan isteğe bağlı tek renkli bit eşlem tutamacı.

xSrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal birimler halinde x koordinatı.

ySrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal birimlerdeki y koordinatı.

nSrcWidth
Kaynak dikdörtgenin mantıksal birimler cinsinden genişliği.

nSrcHeight
Kaynak dikdörtgenin mantıksal birimlerdeki yüksekliği.

xMask
Tek renkli bit eşleminin sol üst köşesinin x koordinatı.

yMask
Tek renkli bit eşleminin sol üst köşesinin y koordinatı.

rectSrc
Kaynak dikdörtgenin koordinatlarını belirten bir RECT yapı başvurusu.

pointMask
POINT Maske bit eşleminin sol üst köşesini gösteren bir yapı.

Dönüş Değeri

Başarılı olursa sıfır olmayan, aksi takdirde 0.

Açıklamalar

Geçerli bir tek renkli bit eşlem tanımlarsa hbmMask , PlgBit kaynak dikdörtgendeki renk verilerinin bitlerini maske etmek için bu bit eşlemi kullanır.

Bu yöntem yalnızca Windows NT, sürüm 4.0 ve üzeri için geçerlidir. Daha ayrıntılı bilgi için Bkz PlgBlt . Windows SDK'sı.

CImage::ReleaseDC

Cihaz bağlamını serbest bırakır.

void ReleaseDC() const throw();

Açıklamalar

Aynı anda bir cihaz bağlamında yalnızca bir bit eşlem seçilebildiği için, her çağrısı için öğesini GetDCçağırmalısınızReleaseDC.

CImage::ReleaseGDIPlus

GDI+ tarafından kullanılan kaynakları serbest bırakır.

void ReleaseGDIPlus() throw();

Açıklamalar

Bu yöntem, genel CImage bir nesne tarafından ayrılan kaynakları boşaltmak için çağrılmalıdır. Bkz. CImage::CImage.

CImage::Save

Görüntüyü belirtilen akışa veya disk üzerindeki dosyaya kaydeder.

HRESULT Save(
    IStream* pStream,
    REFGUID guidFileType) const throw();

HRESULT Save(
    LPCTSTR pszFileName,
    REFGUID guidFileType = GUID_NULL) const throw();

Parametreler

pStream
Dosya görüntüsü verilerini içeren COM IStream nesnesine yönelik bir işaretçi.

pszFileName
Görüntünün dosya adına yönelik bir işaretçi.

guidFileType
Görüntünün kaydedildiği dosya türü. Aşağıdakilerden biri olabilir:

  • ImageFormatBMP Sıkıştırılmamış bit eşlem görüntüsü.

  • ImageFormatPNG Taşınabilir Ağ Grafiği (PNG) sıkıştırılmış görüntüsü.

  • ImageFormatJPEG JPEG sıkıştırılmış görüntüsü.

  • ImageFormatGIF GIF sıkıştırılmış görüntüsü.

Not

Sabitlerin tam listesi için bkz . Windows SDK'sında Görüntü Dosyası Biçim Sabitleri .

Dönüş Değeri

Standart HRESULTbir .

Açıklamalar

Görüntüyü belirtilen bir ad ve tür kullanarak kaydetmek için bu işlevi çağırın. guidFileType Parametresi dahil değilse, görüntü biçimini belirlemek için dosya adının dosya uzantısı kullanılır. Uzantı sağlanmazsa, görüntü BMP biçiminde kaydedilir.

CImage::SetColorTable

DIB bölümünün paletindeki bir giriş aralığı için kırmızı, yeşil, mavi (RGB) renk değerlerini ayarlar.

void SetColorTable(
    UINT iFirstColor,
    UINT nColors,
    const RGBQUAD* prgbColors) throw();

Parametreler

iFirstColor
Ayarlanacağı ilk girişin renk tablosu dizini.

nColors
Ayarlanacağı renk tablosu girdilerinin sayısı.

prgbColors
Renk tablosu girişlerini ayarlamak için yapı dizisine RGBQUAD yönelik bir işaretçi.

Açıklamalar

Bu yöntem yalnızca DIB bölüm bit eşlemlerini destekler.

CImage::SetPixel

Bit eşlem içindeki belirli bir konumdaki bir pikselin rengini ayarlar.

void SetPixel(int x, int y, COLORREF color) throw();

Parametreler

x
Ayarlanacağı pikselin yatay konumu.

y
Ayarlanacağı pikselin dikey konumu.

color
Pikseli ayarladığınız renk.

Açıklamalar

Piksel koordinatları seçilen kırpma bölgesinin dışında kalırsa bu yöntem başarısız olur.

CImage::SetPixelIndexed

Piksel rengini, renk paletinde bulunan iIndex renge ayarlar.

void SetPixelIndexed(int x, int y, int iIndex) throw();

Parametreler

x
Ayarlanacağı pikselin yatay konumu.

y
Ayarlanacağı pikselin dikey konumu.

iIndex
Renk paletindeki bir rengin dizini.

CImage::SetPixelRGB

ve tarafından x y belirtilen konumlardaki pikseli, kırmızı, yeşil, mavi (RGB) bir görüntüde , gve bile belirtilen rrenklere ayarlar.

void SetPixelRGB(
    int x,
    int y,
    BYTE r,
    BYTE g,
    BYTE b) throw();

Parametreler

x
Ayarlanacağı pikselin yatay konumu.

y
Ayarlanacağı pikselin dikey konumu.

r
Kırmızı rengin yoğunluğu.

g
Yeşil rengin yoğunluğu.

b
Mavi rengin yoğunluğu.

Açıklamalar

Kırmızı, yeşil ve mavi parametrelerin her birinde 0 ile 255 arasında bir sayı gösterilir. Üç parametreyi de sıfır olarak ayarlarsanız, elde edilen birleştirilmiş renk siyah olur. Üç parametreyi de 255 olarak ayarlarsanız, elde edilen birleştirilmiş renk beyaz olur.

CImage::SetTransparentColor

Belirli bir dizinlenmiş konumdaki rengi saydam olarak ayarlar.

LONG SetTransparentColor(LONG iTransparentColor) throw();

Parametreler

iTransparentColor
Saydam olarak ayarlanacağı rengin renk paletindeki dizin. -1 ise, hiçbir renk saydam olarak ayarlanmadı.

Dönüş Değeri

Daha önce saydam olarak ayarlanan rengin dizini.

CImage::StretchBlt

Kaynak cihaz bağlamından bu geçerli cihaz bağlamı için bit eşlem kopyalar.

BOOL StretchBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    const RECT& rectDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    DWORD dwROP = SRCCOPY) const throw();

Parametreler

hDestDC
Hedef cihaz bağlamı için bir tanıtıcı.

xDest
Hedef dikdörtgenin sol üst köşesinin mantıksal birimler halinde x koordinatı.

yDest
Hedef dikdörtgenin sol üst köşesinin mantıksal birimlerdeki y koordinatı.

nDestWidth
Hedef dikdörtgenin mantıksal birimler cinsinden genişliği.

nDestHeight
Hedef dikdörtgenin mantıksal birimlerdeki yüksekliği.

dwROP
Gerçekleştirilecek tarama işlemi. Raster-operation kodları, hedefi oluşturmak için kaynağın, hedefin ve desenin (seçili fırça tarafından tanımlandığı gibi) bitlerinin tam olarak nasıl birleştirildiğini tanımlar. Diğer raster-operation kodlarının ve açıklamalarının listesi için Windows SDK'sına bakın BitBlt .

rectDest
Hedefi tanımlayan bir RECT yapı başvurusu.

xSrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal birimler halinde x koordinatı.

ySrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal birimlerdeki y koordinatı.

nSrcWidth
Kaynak dikdörtgenin mantıksal birimler cinsinden genişliği.

nSrcHeight
Kaynak dikdörtgenin mantıksal birimlerdeki yüksekliği.

rectSrc
Kaynağı tanımlayan bir RECT yapı başvurusu.

Dönüş Değeri

Başarılı olursa sıfır olmayan, aksi takdirde 0.

Açıklamalar

Daha fazla bilgi için bkz StretchBlt . Windows SDK'sı.

CImage::TransparentBlt

Kaynak cihaz bağlamından bu geçerli cihaz bağlamı için bit eşlem kopyalar.

BOOL TransparentBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    const RECT& rectDest,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    UINT crTransparent = CLR_INVALID) const throw();

Parametreler

hDestDC
Hedef cihaz bağlamı için bir tanıtıcı.

xDest
Hedef dikdörtgenin sol üst köşesinin mantıksal birimler halinde x koordinatı.

yDest
Hedef dikdörtgenin sol üst köşesinin mantıksal birimlerdeki y koordinatı.

nDestWidth
Hedef dikdörtgenin mantıksal birimler cinsinden genişliği.

nDestHeight
Hedef dikdörtgenin mantıksal birimlerdeki yüksekliği.

crTransparent
Kaynak bit eşlemindeki saydam olarak davranacak renk. Varsayılan olarak, CLR_INVALIDresmin saydam rengi olarak ayarlanmış olan rengin kullanılması gerektiğini belirtir.

rectDest
Hedefi tanımlayan bir RECT yapı başvurusu.

xSrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal birimler halinde x koordinatı.

ySrc
Kaynak dikdörtgenin sol üst köşesinin mantıksal birimlerdeki y koordinatı.

nSrcWidth
Kaynak dikdörtgenin mantıksal birimler cinsinden genişliği.

nSrcHeight
Kaynak dikdörtgenin mantıksal birimlerdeki yüksekliği.

rectSrc
Kaynağı tanımlayan bir RECT yapı başvurusu.

Dönüş Değeri

TRUE başarılı olursa, aksi takdirde FALSE.

Açıklamalar

TransparentBlt , piksel başına 4 bit ve piksel başına 8 bit kaynak bit eşlemleri için desteklenir. Saydamlık ile piksel başına 32 bit bit bit belirtmek için kullanın CImage::AlphaBlend .

Örnek

// Performs a transparent blit from the source image to the destination
// image using the images' current transparency settings
BOOL TransparentBlt(CImage* pSrcImage, CImage* pDstImage,
       int xDest, int yDest, int nDestWidth, int nDestHeight)
{
    HDC hDstDC = NULL;
    BOOL bResult;

    if(pSrcImage == NULL || pDstImage == NULL)
    {
        // Invalid parameter
        return FALSE;
    }

    // Obtain a DC to the destination image
    hDstDC = pDstImage->GetDC();
    // Perform the blit
    bResult = pSrcImage->TransparentBlt(hDstDC, xDest, yDest, nDestWidth, nDestHeight);

    // Release the destination DC
    pDstImage->ReleaseDC();

    return bResult;
}

Ayrıca bkz.

MMXSwarm Örnek
SimpleImage Örnek
Cihazdan Bağımsız Bit Eşlemler
CreateDIBSection
ATL COM Masaüstü Bileşenleri
Cihazdan Bağımsız Bit Eşlemler