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 y tarafı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::GetDC alı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
CImage
cihazdan 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 Attach
bir 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 CDC
bir 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 HDC
içine seçilemez. gerekirseCDC
, öğesini içinden CImage
alın HDC
ve öğesine CDC::FromHandle
verin.
Ö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::AppendMenu
bir işlevle kullanmak CImage
istiyorsanız, komutunu kullanınCBitmap::FromHandle
, iletin CImage
HBITMAP
ve 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 CImage
bir 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 CImage
bir 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.cpp
eklemeniz 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_OVER
sı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_OVER
değ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 veCImage::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 veCImage::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
, LoadFromResource
veya Attach
çağrısı Create
yapı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:
createAlphaChannel
Yalnızca 32 veeCompression
iseBI_RGB
kullanı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ırkenCImage::AlphaBlend
otomatik 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ıylaCImage::CreateEx
CImage::Create
eş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_BITFIELDS
kullanı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:
createAlphaChannel
Yalnızca 32 veeCompression
iseBI_RGB
kullanı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ırkenCImage::AlphaBlend
otomatik 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 StretchBlt
gerç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 GetPitch
dö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 GetDC
sonraki bir çağrısına ReleaseDC
sahip 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 eklenirexcludeDefaultSave
=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 HRESULT
bir .
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 chSeparator
belirtilen 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 eklenirexcludeDefaultSave
=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 chSeparator
belirtilen 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, , TransparentBlt
veya Draw
çağrısı AlphaBlend
saydam 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 HRESULT
bir .
Açıklamalar
veya pStream
tarafı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 BITMAP
olmalı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 HRESULT
bir .
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 , g
ve b
ile belirtilen r
renklere 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_INVALID
resmin 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