Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Note
Microsoft Foundation Sınıfları (MFC) kitaplığı ve Etkin Şablon Kitaplığı (ATL) desteklenmeye devam ediyor. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.
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.
Important
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Syntax
class CImage
Members
Ortak Oluşturucular
| Name | Description |
|---|---|
CImage::CImage |
Oluşturucu. |
Genel Yöntemler
| Name | Description |
|---|---|
CImage::AlphaBlend |
Saydam veya yarı saydam piksellere sahip bit eşlemleri görüntüler. |
CImage::Attach |
Nesneye bir HBITMAPCImage 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 xtarafından y 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
| Name | Description |
|---|---|
CImage::operator HBITMAP |
Nesneye bağlı Windows tutamacını CImage döndürür. |
Remarks
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 Create kullanabilirsinizCImage::Load. kullanarak CImagebir nesneye DIB olmayan bir Attach 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.
Note
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 GdiplusShutdownçağrılmamasını DllMain sağlar.
Note
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 HDC alın CImage ve öğesine CDC::FromHandleverin.
Examples
// 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 CImagebir işlevle kullanmak CMenu::AppendMenu istiyorsanız, komutunu kullanınCBitmap::FromHandle, iletin CImageHBITMAPve 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 CImage veya DIB bölümü kullandığınız her yerde kullanabilirsinizHBITMAP.
MFC veya ATL'den kullanabilirsiniz CImage .
Note
kullanarak CImagebir proje oluşturduğunuzda, eklemeden CStringönce öğesini tanımlamanız atlimage.h gerekir. Projeniz MFC olmadan ATL kullanıyorsa, eklemeden önce ekleyin atlstr.hatlimage.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 , (atlimage.h Visual Studio 2017 ve önceki sürümlerine) ekleyin.pch.hstdafx.h
Requirements
Ü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);
Parameters
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.
Remarks
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();
Parameters
hBitmap
bir tutamacı HBITMAP.
eOrientation
Bit eşlem yönünü belirtir. Aşağıdakilerden biri olabilir:
DIBOR_DEFAULTBit eşlem yönünü işletim sistemi belirler.DIBOR_BOTTOMUPBit eşlem çizgileri ters sıradadır. Bu, bit eşlem arabelleğinin sonuna yakın bir işaretçi döndürmeye veCImage::GetBitsnegatif bir sayı döndürmeye neden olurCImage::GetPitch.DIBOR_TOPDOWNBit 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 veCImage::GetBitspozitif bir sayı döndürmeye neden olurCImage::GetPitch.
Remarks
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();
Parameters
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.
Remarks
Daha fazla bilgi için bkz BitBlt . Windows SDK'sı.
CImage::CImage
Bir CImage nesne oluşturur.
CImage() throw();
Remarks
Nesneyi oluşturduğunuzda, nesnesine bit eşlem eklemek için , Create, Loadveya LoadFromResource çağrısı Attachyapı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();
Parameters
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 venBPPiseeCompressionkullanılabilirBI_RGB. 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ırkenCImage::AlphaBlendotomatik olarak kullanılır.
Note
ç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();
Parameters
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_RGBBiçim sıkıştırılmamış. Çağrılırken bu değerin belirtilmesi çağrısıylaCImage::CreateExCImage::Createeşdeğerdir.BI_BITFIELDSBiç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 üçDWORDrenk maskesinden oluşur. Bu, 16 ve 32 bpp bit eşlemlerle kullanıldığında geçerlidir.
pdwBitfields
Yalnızca olarak ayarlandıysa eCompressionBI_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 venBPPiseeCompressionkullanılabilirBI_RGB. 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ırkenCImage::AlphaBlendotomatik olarak kullanılır.Note
ç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.
Example
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();
Parameters
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.
Remarks
Draw , görüntü saydam bir renk veya alfa kanalı içermiyorsa ile aynı işlemi StretchBltgerçekleştirir. Bu durumda, Draw veya TransparentBlt gerektiği gibi AlphaBlend 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.
Remarks
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.
Note
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ı.
Remarks
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();
Parameters
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ı.
Remarks
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('|'));
Parameters
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.
Note
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 eklenirexcludeDefaultSave=excludeIcon | excludeEMF | excludeWMFKaydetme 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 .
Remarks
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 | nesnesine geçirirseniz varsayılan ayırıcıyı CFileDialog 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('|'));
Parameters
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 kalan dizi değerleri, geçerli işletim sistemi tarafından desteklenen görüntü dosyası biçimleridir.
Note
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 eklenirexcludeDefaultSave=excludeIcon | excludeEMF | excludeWMFKaydetme 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 .
Remarks
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 | nesnesine geçirirseniz varsayılan ayırıcıyı CFileDialog kullanın. Bu dizeyi ortak '\0' iletişim kutusuna geçirirseniz null ayırıcısını 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ı.
Remarks
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.
Remarks
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 GetPitchGetBits .
Note
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();
Parameters
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();
Parameters
x
Pikselin x koordinatı.
y
Pikselin y koordinatı.
Remarks
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.
Note
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.
Remarks
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.
Remarks
Bu yöntem yalnızca bit eşlem 8 bit (256 renk) veya daha azsa döndürür TRUE .
Note
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();
Remarks
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.
Remarks
Dönüş değeri sıfır değilse ve saydamlık destekleniyorsa, , AlphaBlendveya TransparentBlt çağrısı Drawsaydam renkleri işler.
CImage::Load
Bir görüntüyü yükler.
HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();
Parameters
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 .
Remarks
veya pszFileNametarafından pStream 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();
Parameters
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.
Remarks
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();
Parameters
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.
Remarks
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();
Parameters
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.
Remarks
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();
Remarks
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 ReleaseDCçağırmalısınızGetDC.
CImage::ReleaseGDIPlus
GDI+ tarafından kullanılan kaynakları serbest bırakır.
void ReleaseGDIPlus() throw();
Remarks
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();
Parameters
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:
ImageFormatBMPSıkıştırılmamış bit eşlem görüntüsü.ImageFormatPNGTaşınabilir Ağ Grafiği (PNG) sıkıştırılmış görüntüsü.ImageFormatJPEGJPEG sıkıştırılmış görüntüsü.ImageFormatGIFGIF sıkıştırılmış görüntüsü.
Note
Sabitlerin tam listesi için bkz . Windows SDK'sında Görüntü Dosyası Biçim Sabitleri .
Dönüş Değeri
Standart HRESULTbir .
Remarks
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();
Parameters
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.
Remarks
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();
Parameters
x
Ayarlanacağı pikselin yatay konumu.
y
Ayarlanacağı pikselin dikey konumu.
color
Pikseli ayarladığınız renk.
Remarks
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();
Parameters
x
Ayarlanacağı pikselin yatay konumu.
y
Ayarlanacağı pikselin dikey konumu.
iIndex
Renk paletindeki bir rengin dizini.
CImage::SetPixelRGB
ve tarafından xy belirtilen konumlardaki pikseli, kırmızı, yeşil, mavi (RGB) bir görüntüde , rve gile belirtilen brenklere ayarlar.
void SetPixelRGB(
int x,
int y,
BYTE r,
BYTE g,
BYTE b) throw();
Parameters
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.
Remarks
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();
Parameters
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();
Parameters
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.
Remarks
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();
Parameters
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.
Remarks
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 .
Example
// 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 bakınız
MMXSwarm Örnek
SimpleImage Örnek
Bit EşlemleriDevice-Independent
CreateDIBSection
ATL COM Masaüstü Bileşenleri
Bit EşlemleriDevice-Independent