Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
CImage poskytuje vylepšenou podporu rastrových obrázků, včetně možnosti načítání a ukládání obrázků ve formátech JPEG, GIF, BMP a Portable Network Graphics (PNG).
Important
Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.
Syntax
class CImage
Members
Public Constructors
| Name | Description |
|---|---|
CImage::CImage |
The constructor. |
Public Methods
| Name | Description |
|---|---|
CImage::AlphaBlend |
Zobrazí rastrové obrázky, které mají průhledné nebo poloprůhledné pixely. |
CImage::Attach |
Připojí objekt HBITMAPCImage . Lze použít s rastrovými obrázky oddílů jiného typu než DIB nebo s rastrovými obrázky oddílů DIB. |
CImage::BitBlt |
Zkopíruje rastrový obrázek ze zdrojového kontextu zařízení do tohoto aktuálního kontextu zařízení. |
CImage::Create |
Vytvoří rastrový obrázek oddílu DIB a připojí ho k dříve vytvořenému CImage objektu. |
CImage::CreateEx |
Vytvoří rastrový obrázek oddílu DIB (s dalšími parametry) a připojí ho k dříve vytvořenému CImage objektu. |
CImage::Destroy |
Odpojte rastrový obrázek od objektu CImage a zničí bitmapu. |
CImage::Detach |
Odpojte rastrový obrázek od objektu CImage . |
CImage::Draw |
Zkopíruje rastrový obrázek ze zdrojového obdélníku do cílového obdélníku.
Draw v případě potřeby roztáhne nebo zkomprimuje rastrový obrázek tak, aby odpovídal rozměrům cílového obdélníku, a v případě potřeby zpracovává alfa prolnutí a průhledné barvy. |
CImage::GetBits |
Načte ukazatel na skutečné hodnoty pixelů rastrového obrázku. |
CImage::GetBPP |
Načte bity na pixel. |
CImage::GetColorTable |
Načte červené, zelené, modré (RGB) hodnoty barev z rozsahu položek v tabulce barev. |
CImage::GetDC |
Načte kontext zařízení, do kterého je vybrán aktuální rastrový obrázek. |
CImage::GetExporterFilterString |
Najde dostupné formáty obrázků a jejich popisy. |
CImage::GetHeight |
Načte výšku aktuálního obrázku v pixelech. |
CImage::GetImporterFilterString |
Najde dostupné formáty obrázků a jejich popisy. |
CImage::GetMaxColorTableEntries |
Načte maximální počet položek v tabulce barev. |
CImage::GetPitch |
Načte výšku aktuálního obrázku v bajtech. |
CImage::GetPixel |
Načte barvu pixelu určeného operátorem x a y. |
CImage::GetPixelAddress |
Načte adresu daného pixelu. |
CImage::GetTransparentColor |
Načte pozici průhledné barvy v tabulce barev. |
CImage::GetWidth |
Načte šířku aktuálního obrázku v pixelech. |
CImage::IsDIBSection |
Určuje, zda je připojený rastrový obrázek oddíl DIB. |
CImage::IsIndexed |
Označuje, že barvy rastrového obrázku jsou mapovány na indexovanou paletu. |
CImage::IsNull |
Určuje, jestli je aktuálně načten zdrojový rastrový obrázek. |
CImage::IsTransparencySupported |
Určuje, zda aplikace podporuje průhledné rastrové obrázky. |
CImage::Load |
Načte obrázek ze zadaného souboru. |
CImage::LoadFromResource |
Načte obrázek ze zadaného prostředku. |
CImage::MaskBlt |
Kombinuje barevná data pro zdrojové a cílové rastrové obrázky pomocí zadané masky a rastrové operace. |
CImage::PlgBlt |
Provádí přenos bitového bloku z obdélníku v kontextu zdrojového zařízení do paralelogramu v kontextu cílového zařízení. |
CImage::ReleaseDC |
Uvolní kontext zařízení, který byl načten pomocí CImage::GetDC. |
CImage::ReleaseGDIPlus |
Uvolní prostředky používané rozhraním GDI+. Musí být volána k uvolnění prostředků vytvořených globálním CImage objektem. |
CImage::Save |
Uloží obrázek jako zadaný typ.
Save nelze zadat možnosti obrázku. |
CImage::SetColorTable |
Nastaví červené, zelené, modré RGB) hodnoty barev v rozsahu položek v tabulce barev oddílu DIB. |
CImage::SetPixel |
Nastaví pixel na zadaných souřadnicích na zadanou barvu. |
CImage::SetPixelIndexed |
Nastaví pixel na zadaných souřadnicích na barvu v zadaném indexu palety. |
CImage::SetPixelRGB |
Nastaví pixel na zadaných souřadnicích na zadanou červenou, zelenou, modrou (RGB) hodnotu. |
CImage::SetTransparentColor |
Nastaví index barvy, která má být považována za průhlednou. Průhledná může být pouze jedna barva v paletě. |
CImage::StretchBlt |
Zkopíruje rastrový obrázek ze zdrojového obdélníku do cílového obdélníku, v případě potřeby roztáhne nebo zkomprimuje rastrový obrázek tak, aby odpovídal rozměrům cílového obdélníku. |
CImage::TransparentBlt |
Zkopíruje rastrový obrázek s průhlednou barvou ze zdrojového kontextu zařízení do tohoto aktuálního kontextu zařízení. |
Public Operators
| Name | Description |
|---|---|
CImage::operator HBITMAP |
Vrátí popisovač Windows připojený k objektu CImage . |
Remarks
CImagepřebírá rastrové obrázky, které jsou oddíly DIB (device-independent bitmap), nebo ne; můžete však použít nebo Create použít CImage::Load pouze oddíly DIB. K objektu CImagemůžete připojit rastrový obrázek oddíluAttach, který není DIB, ale pak nemůžete použít následující CImage metody, které podporují pouze rastrové obrázky oddílů DIB:
Chcete-li určit, zda připojený rastr je oddíl DIB, volání IsDibSection.
Note
V sadě Visual Studio .NET 2003 uchovává tato třída počet vytvořených CImage objektů. Kdykoli počet přejde na 0, funkce GdiplusShutdown se automaticky volá k uvolnění prostředků používaných rozhraním GDI+. Tím se zajistí, že všechny CImage objekty vytvořené přímo nebo nepřímo pomocí knihoven DLL jsou vždy zničeny správně a které GdiplusShutdown nejsou volány z DllMain.
Note
Použití globálních CImage objektů v knihovně DLL se nedoporučuje. Pokud potřebujete použít globální CImage objekt v knihovně DLL, zavolejte CImage::ReleaseGDIPlus explicitně vydané prostředky používané rozhraním GDI+.
CImage nelze vybrat do nového CDCsouboru .
CImage vytvoří vlastní HDC image.
HBITMAP Vzhledem k tomu, že lze vybrat pouze do jednoho po druhémHDC, HBITMAP nelze jej přidružit k jinému CImageHDC . Pokud potřebujete CDC, načtěte HDC z něj CImage a dejte mu CDC::FromHandle.
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();
Při použití CImage v projektu MFC si všimněte, které členské funkce v projektu očekávají ukazatel na CBitmap objekt. Chcete-li použít CImage s takovou funkcí, jako CMenu::AppendMenuje , použijte CBitmap::FromHandle, předat jej CImageHBITMAP, a použít vrácený CBitmap*.
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);
}
Prostřednictvím CImage, máte přístup k skutečným bitům oddílu DIB. Objekt můžete použít CImage kdekoli, kde jste dříve použili oddíl Win32 HBITMAP nebo DIB.
Můžete použít CImage z knihovny MFC nebo KNIHOVNY ATL.
Note
Při vytváření projektu pomocí CImage, musíte definovat CString před zahrnutím atlimage.h. Pokud váš projekt používá knihovnu ATL bez knihovny MFC, před zahrnutím zahrňte atlstr.hatlimage.h. Pokud váš projekt používá MFC (nebo pokud se jedná o projekt KNIHOVNY ATL s podporou MFC), před zahrnutím zahrňte afxstr.hatlimage.h.
Stejně tak musíte zahrnout atlimage.h před zahrnutím atlimpl.cpp. Abyste toho dosáhli snadno, zahrňte atlimage.h do sady pch.h (stdafx.h v sadě Visual Studio 2017 a starší).
Requirements
Header:atlimage.h
CImage::AlphaBlend
Zobrazí rastrové obrázky, které mají průhledné nebo poloprůhledné pixely.
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
Popisovač kontextu cílového zařízení
xDest
Souřadnice x v logických jednotkách levého horního rohu cílového obdélníku.
yDest
Souřadnice y v logických jednotkách levého horního rohu cílového obdélníku.
bSrcAlpha
Hodnota alfa průhlednosti, která se má použít na celém zdrojovém rastrovém obrázku. Výchozí 0xff (255) předpokládá, že je obrázek neprůhlený a že chcete použít pouze alfa hodnoty na pixel.
bBlendOp
Funkce alfa prolnutí zdrojových a cílových rastrových obrázků, globální alfa hodnota, která se použije pro celý zdrojový rastrový obrázek, a informace o formátování zdrojového rastru. Funkce zdrojového a cílového mixu jsou v současné době omezené na AC_SRC_OVER.
pointDest
Odkaz na POINT strukturu, která identifikuje levý horní roh cílového obdélníku v logických jednotkách.
nDestWidth
Šířka cílového obdélníku v logických jednotkách.
nDestHeight
Výška cílového obdélníku v logických jednotkách.
xSrc
Logická souřadnice x levého horního rohu zdrojového obdélníku.
ySrc
Logická souřadnice y levého horního rohu zdrojového obdélníku.
nSrcWidth
Šířka zdrojového obdélníku v logických jednotkách.
nSrcHeight
Výška zdrojového obdélníku v logických jednotkách.
rectDest
Odkaz na RECT strukturu identifikující cíl.
rectSrc
Odkaz na RECT strukturu identifikující zdroj.
Return Value
Nenulové, pokud je úspěšné; jinak 0.
Remarks
Rastrové obrázky alfa-blend podporují prolnutí barev na pixely.
Je-li bBlendOp nastavena na výchozí hodnotu AC_SRC_OVER, zdrojový rastrový obrázek se umístí na cílový rastr na základě alfa hodnot zdrojových pixelů.
CImage::Attach
hBitmap Připojí se k objektuCImage.
void Attach(HBITMAP hBitmap, DIBOrientation eOrientation = DIBOR_DEFAULT) throw();
Parameters
hBitmap
Popisovač k objektu HBITMAP.
eOrientation
Určuje orientaci rastrového obrázku. Může to být jedna z následujících možností:
DIBOR_DEFAULTOrientace rastrového obrázku je určena operačním systémem.DIBOR_BOTTOMUPŘádky rastrového obrázku jsou v obráceném pořadí. To způsobíCImage::GetBitsvrácení ukazatele na konci vyrovnávací paměti bitmapy aCImage::GetPitchvrácení záporného čísla.DIBOR_TOPDOWNŘádky rastrového obrázku jsou v horním až dolním pořadí. To způsobíCImage::GetBitsvrácení ukazatele na první bajt rastrové vyrovnávací paměti aCImage::GetPitchvrácení kladného čísla.
Remarks
Rastrový obrázek může být rastrový obrázek jiného než DIB oddílu nebo rastrový obrázek oddílu DIB. Seznam IsDIBSection metod, které můžete použít pouze s rastrovými obrázky oddílů DIB.
CImage::BitBlt
Zkopíruje rastrový obrázek ze zdrojového kontextu zařízení do tohoto aktuálního kontextu zařízení.
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
Cíl HDC.
xDest
Logická souřadnice x levého horního rohu cílového obdélníku.
yDest
Logická souřadnice y levého horního rohu cílového obdélníku.
dwROP
Rastrová operace, která se má provést. Rastrové kódy operací přesně definují, jak zkombinovat bity zdroje, cíle a vzor (jak je definován aktuálně vybraným štětcem) a vytvořit cíl. Seznam BitBlt dalších kódů raster-operation a jejich popisů najdete v sadě Windows SDK.
pointDest
Struktura POINT označující levý horní roh cílového obdélníku.
nDestWidth
Šířka cílového obdélníku v logických jednotkách.
nDestHeight
Výška cílového obdélníku v logických jednotkách.
xSrc
Logická souřadnice x levého horního rohu zdrojového obdélníku.
ySrc
Logická souřadnice y levého horního rohu zdrojového obdélníku.
rectDest
Struktura RECT označující cílový obdélník.
pointSrc
Struktura POINT označující levý horní roh zdrojového obdélníku.
Return Value
Nenulové, pokud je úspěšné; jinak nula.
Remarks
Další informace najdete BitBlt v sadě Windows SDK.
CImage::CImage
CImage Vytvoří objekt.
CImage() throw();
Remarks
Po vytvoření objektu, volání Create, Load, LoadFromResource, nebo Attach připojení rastrového obrázku k objektu.
Poznámka: V sadě Visual Studio uchovává tato třída počet vytvořených CImage objektů. Kdykoli počet přejde na 0, funkce GdiplusShutdown se automaticky volá k uvolnění prostředků používaných rozhraním GDI+. Tím se zajistí, že všechny CImage objekty vytvořené přímo nebo nepřímo knihovnami DLL jsou vždy zničeny správně a které GdiplusShutdown nejsou volány z dllMain.
Použití globálních CImage objektů v knihovně DLL se nedoporučuje. Pokud potřebujete použít globální CImage objekt v knihovně DLL, zavolejte CImage::ReleaseGDIPlus explicitně vydané prostředky používané rozhraním GDI+.
CImage::Create
Vytvoří rastrový CImage obrázek a připojí ho k dříve vytvořenému CImage objektu.
BOOL Create(
int nWidth,
int nHeight,
int nBPP,
DWORD dwFlags = 0) throw();
Parameters
nWidth
Šířka rastrového obrázku CImage v pixelech.
nHeight
Výška rastrového obrázku CImage v pixelech. Pokud nHeight je rastrový obrázek kladný, je DIB směrem dolů a jeho původ je levý dolní roh. Pokud nHeight je rastrový obrázek záporný, je DIB shora dolů a jeho původ je levý horní roh.
nBPP
Počet bitů na pixel v rastrovém obrázku Obvykle 4, 8, 16, 24 nebo 32. Může být 1 pro monochromatické rastrové obrázky nebo masky.
dwFlags
Určuje, zda rastrový objekt má alfa kanál. Může to být kombinace nuly nebo více z následujících hodnot:
-
createAlphaChannelLze použít pouze v případě, ženBPPje 32 aeCompressionjeBI_RGB. Pokud je zadáno, má vytvořený obrázek hodnotu alfa (průhlednost) pro každý pixel uložený v 4. bajtu každého pixelu (nepoužívá se v 32bitovém obrázku, který není alfa). Tento alfa kanál se automaticky používá při voláníCImage::AlphaBlend.
Note
Při voláních se CImage::Drawobrázky s alfa kanálem automaticky směšují do cíle.
Return Value
Nenulové, pokud je úspěšné; jinak 0.
CImage::CreateEx
Vytvoří rastrový CImage obrázek a připojí ho k dříve vytvořenému CImage objektu.
BOOL CreateEx(
int nWidth,
int nHeight,
int nBPP,
DWORD eCompression,
const DWORD* pdwBitmasks = NULL,
DWORD dwFlags = 0) throw();
Parameters
nWidth
Šířka rastrového obrázku CImage v pixelech.
nHeight
Výška rastrového obrázku CImage v pixelech. Pokud nHeight je rastrový obrázek kladný, je DIB směrem dolů a jeho původ je levý dolní roh. Pokud nHeight je rastrový obrázek záporný, je DIB shora dolů a jeho původ je levý horní roh.
nBPP
Počet bitů na pixel v rastrovém obrázku Obvykle 4, 8, 16, 24 nebo 32. Může být 1 pro monochromatické rastrové obrázky nebo masky.
eCompression
Určuje typ komprese komprimovaného rastrového obrázku dole nahoru (databáze DIB shora dolů nelze komprimovat). Může to být jedna z následujících hodnot:
BI_RGBFormát je nekomprimovaný. Určení této hodnoty při voláníCImage::CreateExje ekvivalentní voláníCImage::Create.BI_BITFIELDSFormát je nekomprimovaný a tabulka barev se skládá ze tříDWORDbarevných masek, které určují červenou, zelenou a modrou část každého pixelu. To platí při použití s rastrovými obrázky 16- a 32-bpp.
pdwBitfields
Používá se pouze v případě, že eCompression je nastavena na BI_BITFIELDS, jinak musí být NULL. Ukazatel na pole tří DWORD bitů masky určující, které bity každého pixelu se používají pro červené, zelené a modré součásti barvy. Informace o omezeních pro bitová pole najdete BITMAPINFOHEADER v sadě Windows SDK.
dwFlags
Určuje, zda rastrový objekt má alfa kanál. Může to být kombinace nuly nebo více z následujících hodnot:
createAlphaChannelLze použít pouze v případě, ženBPPje 32 aeCompressionjeBI_RGB. Pokud je zadáno, má vytvořený obrázek hodnotu alfa (průhlednost) pro každý pixel uložený v 4. bajtu každého pixelu (nepoužívá se v 32bitovém obrázku, který není alfa). Tento alfa kanál se automaticky používá při voláníCImage::AlphaBlend.Note
Při voláních se
CImage::Drawobrázky s alfa kanálem automaticky směšují do cíle.
Return Value
TRUE v případě úspěchu. Jinak FALSE.
Example
Následující příklad vytvoří rastrový obrázek o rozměrech 100 × 100 pixelů pomocí 16 bitů pro kódování každého pixelu. V daném 16bitovém pixelu bity 0-3 kódují červenou komponentu, bity 4-7 kódují zelenou a bity 8-11 kódují modrou. Zbývající 4 bity se nevyužívají.
DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);
CImage::Destroy
Odpojte rastrový obrázek od objektu CImage a zničí bitmapu.
void Destroy() throw();
CImage::Detach
Odpojte rastrový obrázek od objektu CImage .
HBITMAP Detach() throw();
Return Value
Úchyt rastrového obrázku je odpojen nebo NULL není-li připojen žádný rastrový obrázek.
CImage::Draw
Zkopíruje rastrový obrázek z kontextu zdrojového zařízení do aktuálního kontextu zařízení.
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
Popisovač kontextu cílového zařízení.
xDest
Souřadnice x v logických jednotkách levého horního rohu cílového obdélníku.
yDest
Souřadnice y v logických jednotkách levého horního rohu cílového obdélníku.
nDestWidth
Šířka cílového obdélníku v logických jednotkách.
nDestHeight
Výška cílového obdélníku v logických jednotkách.
xSrc
Souřadnice x v logických jednotkách v levém horním rohu zdrojového obdélníku.
ySrc
Souřadnice y v logických jednotkách v levém horním rohu zdrojového obdélníku.
nSrcWidth
Šířka zdrojového obdélníku v logických jednotkách.
nSrcHeight
Výška zdrojového obdélníku v logických jednotkách.
rectDest
Odkaz na RECT strukturu identifikující cíl.
rectSrc
Odkaz na RECT strukturu identifikující zdroj.
pointDest
Odkaz na POINT strukturu, která identifikuje levý horní roh cílového obdélníku v logických jednotkách.
Return Value
Nenulové, pokud je úspěšné; jinak 0.
Remarks
Draw provede stejnou operaci jako StretchBlt, pokud obrázek neobsahuje průhlednou barvu nebo alfa kanál. V takovém případě Draw provede stejnou operaci jako buď TransparentBlt nebo AlphaBlend podle potřeby.
Pro verze Draw , které nezadávají zdrojový obdélník, je výchozí celá zdrojová image. Pro verzi, která neurčí velikost cílového Draw obdélníku, je výchozí velikost zdrojového obrázku a nedojde k žádnému roztažení nebo zmenšení.
CImage::GetBits
Načte ukazatel na skutečné bitové hodnoty daného pixelu v rastrovém obrázku.
void* GetBits() throw();
Return Value
Ukazatel na vyrovnávací paměť bitmapy. Pokud je rastrový obrázek diB směrem dolů, ukazatel odkazuje na konec vyrovnávací paměti. Pokud je rastrový obrázek DIB shora dolů, ukazatel odkazuje na první bajt vyrovnávací paměti.
Remarks
Pomocí tohoto ukazatele spolu s hodnotou vrácenou GetPitchhodnotou můžete vyhledat a změnit jednotlivé pixely na obrázku.
Note
Tato metoda podporuje pouze rastrové obrázky oddílů DIB; v důsledku toho přistupujete k pixelům CImage objektu stejným způsobem jako pixely oddílu DIB. Vrácený ukazatel odkazuje na pixel v umístění (0, 0).
CImage::GetBPP
Načte bity na pixelovou hodnotu.
int GetBPP() const throw();
Return Value
Počet bitů na pixel.
Remarks
Tato hodnota určuje počet bitů, které definují každý pixel a maximální počet barev v rastrovém obrázku.
Bity na pixel jsou obvykle 1, 4, 8, 16, 24 nebo 32.
biBitCount Další informace o této hodnotě najdete v členu BITMAPINFOHEADER sady Windows SDK.
CImage::GetColorTable
Načte červené, zelené, modré (RGB) barevné hodnoty z rozsahu položek v paletě oddílu DIB.
void GetColorTable(
UINT iFirstColor,
UINT nColors,
RGBQUAD* prgbColors) const throw();
Parameters
iFirstColor
Index barevné tabulky první položky, která se má načíst.
nColors
Počet položek barevné tabulky, které se mají načíst.
prgbColors
Ukazatel na pole RGBQUAD struktur pro načtení položek barevné tabulky.
CImage::GetDC
Načte kontext zařízení, který má aktuálně vybraný obrázek.
HDC GetDC() const throw();
Return Value
Popisovač kontextu zařízení
Remarks
Pro každé volání GetDC, musíte mít následné volání ReleaseDC.
CImage::GetExporterFilterString
Vyhledá formáty obrázků, které jsou k dispozici pro ukládání obrázků.
static HRESULT GetExporterFilterString(
CSimpleString& strExporters,
CSimpleArray<GUID>& aguidFileTypes,
LPCTSTR pszAllFilesDescription = NULL,
DWORD dwExclude = excludeDefaultSave,
TCHAR chSeparator = _T('|'));
Parameters
strExporters
Odkaz na CSimpleString objekt. Další informace najdete v části Poznámky .
aguidFileTypes
Pole identifikátorů GUID, přičemž každý prvek odpovídá jednomu z typů souborů v řetězci. V následujícím pszAllFilesDescription příkladu aguidFileTypes[0] je GUID_NULL a zbývající hodnoty pole jsou formáty souborů bitové kopie podporované aktuálním operačním systémem.
Note
Úplný seznam konstant najdete v tématu Konstanty formátu souboru obrázku v sadě Windows SDK.
pszAllFilesDescription
Pokud tento parametr není NULL, řetězec filtru bude mít na začátku seznamu jeden další filtr. Tento filtr bude mít aktuální hodnotu pszAllFilesDescription popisu a přijme soubory libovolné přípony podporované jakýmkoli jiným vývozcem v seznamu.
For example:
//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
Sada bitových příznaků určující typy souborů, které se mají ze seznamu vyloučit. Povolené příznaky jsou:
excludeGIF= 0x01 vylučuje soubory GIF.excludeBMP= 0x02 vylučuje soubory BMP (Windows Bitmap).excludeEMF= 0x04 vylučuje soubory EMF (Enhanced Metafile).excludeWMF= 0x08 vylučuje soubory WMF (Windows Metafile).excludeJPEG= 0x10 vylučuje soubory JPEG.excludePNG= 0x20 vylučuje soubory PNG.excludeTIFF= 0x40 vylučuje soubory TIFF.excludeIcon= 0x80 vylučuje soubory ICO (Ikona Systému Windows).excludeOther= 0x80000000 Vylučuje jakýkoli jiný typ souboru, který není uvedený výše.excludeDefaultLoad= 0 Pro načtení jsou ve výchozím nastavení zahrnuty všechny typy souborů.excludeDefaultSave=excludeIcon | excludeEMF | excludeWMFPro ukládání jsou tyto soubory ve výchozím nastavení vyloučeny, protože obvykle mají zvláštní požadavky.
chSeparator
Oddělovač použitý mezi formáty obrázků. Další informace najdete v části Poznámky .
Return Value
Standardní .HRESULT
Remarks
Výsledný formátovací řetězec můžete předat objektu MFC CFileDialog a zpřístupnit přípony souborů dostupných formátů obrázků v dialogovém okně Uložit jako souboru.
strExporter Parametr má formát:
file description 0|*.ext0|file description 1|*.ext1|...file description N|*.extN||
kde | je znak oddělovače určený znakem chSeparator. For example:
"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"
Pokud tento řetězec předáte objektu MFC|, použijte výchozí oddělovačCFileDialog. Pokud tento řetězec předáte do společného dialogového okna Uložit soubor, použijte oddělovač '\0' null.
CImage::GetHeight
Načte výšku obrázku v pixelech.
int GetHeight() const throw();
Return Value
Výška obrázku v pixelech.
CImage::GetImporterFilterString
Vyhledá formáty obrázků, které jsou k dispozici pro načítání obrázků.
static HRESULT GetImporterFilterString(
CSimpleString& strImporters,
CSimpleArray<GUID>& aguidFileTypes,
LPCTSTR pszAllFilesDescription = NULL,
DWORD dwExclude = excludeDefaultLoad,
TCHAR chSeparator = _T('|'));
Parameters
strImporters
Odkaz na CSimpleString objekt. Další informace najdete v části Poznámky .
aguidFileTypes
Pole identifikátorů GUID, přičemž každý prvek odpovídá jednomu z typů souborů v řetězci. V následujícím aguidFileTypes[0] příkladu pszAllFilesDescription je GUID_NULL s zbývajícími hodnotami pole formáty souborů bitové kopie podporované aktuálním operačním systémem.
Note
Úplný seznam konstant najdete v tématu Konstanty formátu souboru obrázku v sadě Windows SDK.
pszAllFilesDescription
Pokud tento parametr není NULL, řetězec filtru bude mít na začátku seznamu jeden další filtr. Tento filtr bude mít aktuální hodnotu pszAllFilesDescription popisu a přijme soubory libovolné přípony podporované jakýmkoli jiným vývozcem v seznamu.
For example:
//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
Sada bitových příznaků určující typy souborů, které se mají ze seznamu vyloučit. Povolené příznaky jsou:
excludeGIF= 0x01 vylučuje soubory GIF.excludeBMP= 0x02 vylučuje soubory BMP (Windows Bitmap).excludeEMF= 0x04 vylučuje soubory EMF (Enhanced Metafile).excludeWMF= 0x08 vylučuje soubory WMF (Windows Metafile).excludeJPEG= 0x10 vylučuje soubory JPEG.excludePNG= 0x20 vylučuje soubory PNG.excludeTIFF= 0x40 vylučuje soubory TIFF.excludeIcon= 0x80 vylučuje soubory ICO (Ikona Systému Windows).excludeOther= 0x80000000 Vylučuje jakýkoli jiný typ souboru, který není uvedený výše.excludeDefaultLoad= 0 Pro načtení jsou ve výchozím nastavení zahrnuty všechny typy souborů.excludeDefaultSave=excludeIcon | excludeEMF | excludeWMFPro ukládání jsou tyto soubory ve výchozím nastavení vyloučeny, protože obvykle mají zvláštní požadavky.
chSeparator
Oddělovač použitý mezi formáty obrázků. Další informace najdete v části Poznámky .
Remarks
Výsledný formátovací řetězec můžete předat objektu MFC CFileDialog a zpřístupnit přípony souborů dostupných formátů obrázků v dialogovém okně Otevřít soubor.
strImporter Parametr má formát:
'popis souboru 0|. ext0|popis souboru 1|. ext1|... popis souboru N|*.extN||
kde | je znak oddělovače určený znakem chSeparator. For example:
"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"
Pokud tento řetězec předáte objektu MFC|, použijte výchozí oddělovačCFileDialog. Pokud tento řetězec předáte do společného '\0' soubor, použijte oddělovač null.
CImage::GetMaxColorTableEntries
Načte maximální počet položek v tabulce barev.
int GetMaxColorTableEntries() const throw();
Return Value
Počet položek v tabulce barev.
Remarks
Tato metoda podporuje pouze rastrové obrázky oddílů DIB.
CImage::GetPitch
Načte výšku obrázku.
int GetPitch() const throw();
Return Value
Rozteč obrázku. Pokud je návratová hodnota záporná, rastrový obrázek je DIB směrem dolů a jeho původ je levý dolní roh. Pokud je vrácená hodnota kladná, rastrový obrázek je DIB shora dolů a jeho původ je levý horní roh.
Remarks
Rozteč je vzdálenost mezi dvěma adresami paměti, které představují začátek jedné rastrové čáry a začátek dalšího rastrového řádku. Vzhledem k tomu, že se rozteč měří v bajtech, pomůže vám rozteč obrázku určit formát pixelů. Rozteč může obsahovat také další paměť vyhrazenou pro rastrový obrázek.
GetPitch Umožňuje GetBits najít jednotlivé pixely obrázku.
Note
Tato metoda podporuje pouze rastrové obrázky oddílů DIB.
CImage::GetPixel
Načte barvu pixelu v umístění určeném x a y.
COLORREF GetPixel(int x, int y) const throw();
Parameters
x
Souřadnice x pixelu.
y
Souřadnice y pixelu.
Return Value
Červená, zelená, modrá (RGB) hodnota pixelu. Pokud je pixel mimo aktuální oblast oříznutí, je vrácená hodnota CLR_INVALID.
CImage::GetPixelAddress
Načte přesnou adresu pixelu.
void* GetPixelAddress(int x, int y) throw();
Parameters
x
Souřadnice x pixelu.
y
Souřadnice y pixelu.
Remarks
Adresa je určena podle souřadnic pixelů, rozteč rastrového obrázku a bitů na pixel.
U formátů, které mají méně než 8 bitů na pixel, vrátí tato metoda adresu bajtu obsahujícího pixel. Pokud má například formát obrázku 4 bity na pixel, GetPixelAddress vrátí adresu prvního pixelu v bajtu a musíte vypočítat 2 pixely na bajt.
Note
Tato metoda podporuje pouze rastrové obrázky oddílů DIB.
CImage::GetTransparentColor
Načte indexované umístění průhledné barvy v paletě barev.
LONG GetTransparentColor() const throw();
Return Value
Index průhledné barvy.
CImage::GetWidth
Načte šířku obrázku v pixelech.
int GetWidth() const throw();
Return Value
Šířka rastrového obrázku v pixelech.
CImage::IsDIBSection
Určuje, zda je připojený rastrový obrázek oddíl DIB.
bool IsDIBSection() const throw();
Return Value
TRUE pokud je připojený rastrový obrázek oddíl DIB. Jinak FALSE.
Remarks
Pokud rastrový obrázek není oddíl DIB, nemůžete použít následující CImage metody, které podporují pouze rastrové obrázky oddílů DIB:
CImage::IsIndexed
Určuje, zda jsou rastrové pixely mapovány na barevnou paletu.
bool IsIndexed() const throw();
Return Value
TRUE je-li indexováno; jinak FALSE.
Remarks
Tato metoda vrátí TRUE pouze v případě, že rastrový obrázek je 8bitový (256 barev) nebo méně.
Note
Tato metoda podporuje pouze rastrové obrázky oddílů DIB.
CImage::IsNull
Určuje, zda je rastrový obrázek právě načten.
bool IsNull() const throw();
Remarks
Tato metoda vrátí TRUE , pokud rastrový obrázek není aktuálně načten; jinak FALSE.
CImage::IsTransparencySupported
Určuje, zda aplikace podporuje průhledné rastrové obrázky.
static BOOL IsTransparencySupported() throw();
Return Value
Nenulové, pokud aktuální platforma podporuje transparentnost. Otherwise 0.
Remarks
Pokud je návratová hodnota nenulová a je podporována průhlednost, volání AlphaBlend, TransparentBltnebo Draw bude zpracovávat průhledné barvy.
CImage::Load
Načte obrázek.
HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();
Parameters
pszFileName
Ukazatel na řetězec obsahující název souboru obrázku, který se má načíst.
pStream
Ukazatel na datový proud obsahující název souboru obrázku, který se má načíst.
Return Value
Standardní .HRESULT
Remarks
Načte obrázek určený parametrem pszFileName nebo pStream.
Platné typy obrázků jsou BMP, GIF, JPEG, PNG a TIFF.
CImage::LoadFromResource
Načte obrázek z BITMAP prostředku.
void LoadFromResource(
HINSTANCE hInstance,
LPCTSTR pszResourceName) throw();
void LoadFromResource(
HINSTANCE hInstance,
UINT nIDResource) throw();
Parameters
hInstance
Popisovač instance modulu, který obsahuje image, která se má načíst.
pszResourceName
Ukazatel na řetězec obsahující název prostředku obsahujícího obrázek, který se má načíst.
nIDResource
ID prostředku, který se má načíst.
Remarks
Prostředek musí být typu BITMAP.
CImage::MaskBlt
Kombinuje barevná data pro zdrojové a cílové rastrové obrázky pomocí zadané masky a rastrové operace.
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
Popisovač modulu, jehož spustitelný soubor obsahuje prostředek.
xDest
Souřadnice x v logických jednotkách levého horního rohu cílového obdélníku.
yDest
Souřadnice y v logických jednotkách levého horního rohu cílového obdélníku.
nDestWidth
Šířka cílového obdélníku a zdrojového rastrového obrázku v logických jednotkách.
nDestHeight
Výška cílového obdélníku a zdrojového rastrového obrázku v logických jednotkách.
xSrc
Logická souřadnice x levého horního rohu zdrojového rastrového obrázku.
ySrc
Logická souřadnice y levého horního rohu zdrojového rastrového obrázku.
hbmMask
Úchyt pro monochromatický rastrový obrázek masky v kombinaci s barevným rastrem v kontextu zdrojového zařízení.
xMask
Vodorovný posun pixelu pro rastrovou mapu masky určenou parametrem hbmMask .
yMask
Svislý pixel posun pro rastrovou mapu masky určenou parametrem hbmMask .
dwROP
Určuje kódy operací popředí i pozadí ternární raster, které metoda používá k řízení kombinace zdrojových a cílových dat. Rastrový kód rastrového kódu pozadí je uložen v bajtu s vysokým pořadím slova této hodnoty; rastrový kód popředí je uložen v bajtech s nízkým pořadím slova s vysokým pořadím této hodnoty; slovo s nízkým pořadím této hodnoty je ignorováno a mělo by být nula. Diskuzi o popředí a pozadí v kontextu této metody najdete MaskBlt v sadě Windows SDK. Seznam běžných kódů rastrových operací najdete BitBlt v sadě Windows SDK.
rectDest
Odkaz na RECT strukturu identifikující cíl.
pointSrc
Struktura POINT označující levý horní roh zdrojového obdélníku.
pointMask
Struktura POINT označující levý horní roh rastrového obrázku masky.
pointDest
Odkaz na POINT strukturu, která identifikuje levý horní roh cílového obdélníku v logických jednotkách.
Return Value
Nenulové, pokud je úspěšné, jinak 0.
Remarks
Tato metoda se vztahuje pouze na systém Windows NT verze 4.0 a novější.
CImage::operator HBITMAP
Pomocí tohoto operátoru získáte připojený popisovač GDI windows objektu CImage . Tento operátor je operátor přetypování, který podporuje přímé použití objektu HBITMAP .
CImage::PlgBlt
Provádí přenos bitového bloku z obdélníku v kontextu zdrojového zařízení do paralelogramu v kontextu cílového zařízení.
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
Popisovač kontextu cílového zařízení.
pPoints
Ukazatel na pole tří bodů v logickém prostoru, který identifikuje tři rohy cílového paralelogramu. Levý horní roh zdrojového obdélníku je namapován na první bod v tomto poli, pravý horní roh na druhý bod v tomto poli a dolní levý roh třetího bodu. Pravý dolní roh zdrojového obdélníku je mapován na implicitní čtvrtý bod paralelogramu.
hbmMask
Úchyt pro volitelný monochromatický rastrový obrázek, který slouží k maskování barev zdrojového obdélníku.
xSrc
Souřadnice x v logických jednotkách v levém horním rohu zdrojového obdélníku.
ySrc
Souřadnice y v logických jednotkách v levém horním rohu zdrojového obdélníku.
nSrcWidth
Šířka zdrojového obdélníku v logických jednotkách.
nSrcHeight
Výška zdrojového obdélníku v logických jednotkách.
xMask
Souřadnice x levého horního rohu monochromatého rastrového obrázku.
yMask
Souřadnice y levého horního rohu monochromatické bitmapy.
rectSrc
Odkaz na RECT strukturu určující souřadnice zdrojového obdélníku.
pointMask
Struktura POINT označující levý horní roh rastrového obrázku masky.
Return Value
Nenulové, pokud je úspěšné, jinak 0.
Remarks
Pokud hbmMask identifikuje platný monochromatický rastrový obrázek, PlgBit použije tento rastr k maskování bitů barevných dat ze zdrojového obdélníku.
Tato metoda se vztahuje pouze na systém Windows NT verze 4.0 a novější. Podrobnější informace najdete PlgBlt v sadě Windows SDK.
CImage::ReleaseDC
Uvolní kontext zařízení.
void ReleaseDC() const throw();
Remarks
Vzhledem k tomu, že v kontextu zařízení lze současně vybrat pouze jeden rastrový obrázek, je nutné volat ReleaseDC pro každé volání GetDC.
CImage::ReleaseGDIPlus
Uvolní prostředky používané rozhraním GDI+.
void ReleaseGDIPlus() throw();
Remarks
Tato metoda musí být volána k uvolnění prostředků přidělených globálním CImage objektem. Viz třída CImage::CImage.
CImage::Save
Uloží image do zadaného datového proudu nebo souboru na disku.
HRESULT Save(
IStream* pStream,
REFGUID guidFileType) const throw();
HRESULT Save(
LPCTSTR pszFileName,
REFGUID guidFileType = GUID_NULL) const throw();
Parameters
pStream
Ukazatel na objekt COM IStream obsahující data obrázku souboru.
pszFileName
Ukazatel na název souboru obrázku.
guidFileType
Typ souboru pro uložení obrázku jako. Může to být jedna z následujících možností:
ImageFormatBMPNekomprimovaný rastrový obrázek.ImageFormatPNGKomprimovaný obrázek PNG (Portable Network Graphic).ImageFormatJPEGKomprimovaný obrázek VE FORMÁTU JPEG.ImageFormatGIFKomprimovaný obrázek VE FORMÁTU GIF.
Note
Úplný seznam konstant najdete v tématu Konstanty formátu souboru obrázku v sadě Windows SDK.
Return Value
Standardní .HRESULT
Remarks
Voláním této funkce uložíte obrázek pomocí zadaného názvu a typu.
guidFileType Pokud parametr není součástí, přípona souboru názvu souboru se použije k určení formátu obrázku. Pokud není k dispozici žádné rozšíření, image se uloží ve formátu BMP.
CImage::SetColorTable
Nastaví červené, zelené, modré (RGB) barevné hodnoty pro rozsah položek v paletě oddílu DIB.
void SetColorTable(
UINT iFirstColor,
UINT nColors,
const RGBQUAD* prgbColors) throw();
Parameters
iFirstColor
Index barevné tabulky první položky, která se má nastavit.
nColors
Počet položek barevné tabulky, které chcete nastavit.
prgbColors
Ukazatel na pole RGBQUAD struktur pro nastavení položek barevné tabulky.
Remarks
Tato metoda podporuje pouze rastrové obrázky oddílů DIB.
CImage::SetPixel
Nastaví barvu pixelu na daném místě v rastrovém obrázku.
void SetPixel(int x, int y, COLORREF color) throw();
Parameters
x
Vodorovné umístění pixelu, které chcete nastavit.
y
Svislé umístění pixelu, které chcete nastavit.
color
Barva, na kterou nastavíte pixel.
Remarks
Tato metoda selže, pokud souřadnice pixelů leží mimo vybranou oblast oříznutí.
CImage::SetPixelIndexed
Nastaví barvu pixelu na barvu umístěnou iIndex v paletě barev.
void SetPixelIndexed(int x, int y, int iIndex) throw();
Parameters
x
Vodorovné umístění pixelu, které chcete nastavit.
y
Svislé umístění pixelu, které chcete nastavit.
iIndex
Index barvy v paletě barev.
CImage::SetPixelRGB
Nastaví pixel v umístěních určených xy barvou a na barvy označené barvou r, ga b, v červeném, zeleném, modrém (RGB) obrázku.
void SetPixelRGB(
int x,
int y,
BYTE r,
BYTE g,
BYTE b) throw();
Parameters
x
Vodorovné umístění pixelu, které chcete nastavit.
y
Svislé umístění pixelu, které chcete nastavit.
r
Intenzita červené barvy.
g
Intenzita zelené barvy.
b
Intenzita modré barvy.
Remarks
Červené, zelené a modré parametry jsou reprezentovány číslem od 0 do 255. Pokud nastavíte všechny tři parametry na nulu, kombinovaná výsledná barva je černá. Pokud nastavíte všechny tři parametry na 255, výsledná barva je bílá.
CImage::SetTransparentColor
Nastaví barvu v daném indexovaném umístění jako průhlednou.
LONG SetTransparentColor(LONG iTransparentColor) throw();
Parameters
iTransparentColor
Index v paletě barev, která se má nastavit na průhlednou. Pokud -1, není žádná barva nastavená na průhlednou.
Return Value
Index barvy, která byla dříve nastavena jako průhledná.
CImage::StretchBlt
Zkopíruje rastrový obrázek ze zdrojového kontextu zařízení do tohoto aktuálního kontextu zařízení.
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
Popisovač kontextu cílového zařízení.
xDest
Souřadnice x v logických jednotkách levého horního rohu cílového obdélníku.
yDest
Souřadnice y v logických jednotkách levého horního rohu cílového obdélníku.
nDestWidth
Šířka cílového obdélníku v logických jednotkách.
nDestHeight
Výška cílového obdélníku v logických jednotkách.
dwROP
Rastrová operace, která se má provést. Rastrové kódy operací přesně definují, jak zkombinovat bity zdroje, cíle a vzor (jak je definován aktuálně vybraným štětcem) a vytvořit cíl. Seznam BitBlt dalších kódů raster-operation a jejich popisů najdete v sadě Windows SDK.
rectDest
Odkaz na RECT strukturu identifikující cíl.
xSrc
Souřadnice x v logických jednotkách v levém horním rohu zdrojového obdélníku.
ySrc
Souřadnice y v logických jednotkách v levém horním rohu zdrojového obdélníku.
nSrcWidth
Šířka zdrojového obdélníku v logických jednotkách.
nSrcHeight
Výška zdrojového obdélníku v logických jednotkách.
rectSrc
Odkaz na RECT strukturu identifikující zdroj.
Return Value
Nenulové, pokud je úspěšné, jinak 0.
Remarks
Další informace najdete StretchBlt v sadě Windows SDK.
CImage::TransparentBlt
Zkopíruje rastrový obrázek ze zdrojového kontextu zařízení do tohoto aktuálního kontextu zařízení.
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
Popisovač kontextu cílového zařízení.
xDest
Souřadnice x v logických jednotkách levého horního rohu cílového obdélníku.
yDest
Souřadnice y v logických jednotkách levého horního rohu cílového obdélníku.
nDestWidth
Šířka cílového obdélníku v logických jednotkách.
nDestHeight
Výška cílového obdélníku v logických jednotkách.
crTransparent
Barva ve zdrojovém rastrovém obrázku, která má být považována za průhlednou. Ve výchozím nastavení by se měla použít barva, CLR_INVALIDkterá je aktuálně nastavená jako průhledná barva obrázku.
rectDest
Odkaz na RECT strukturu identifikující cíl.
xSrc
Souřadnice x v logických jednotkách v levém horním rohu zdrojového obdélníku.
ySrc
Souřadnice y v logických jednotkách v levém horním rohu zdrojového obdélníku.
nSrcWidth
Šířka zdrojového obdélníku v logických jednotkách.
nSrcHeight
Výška zdrojového obdélníku v logických jednotkách.
rectSrc
Odkaz na RECT strukturu identifikující zdroj.
Return Value
TRUE v případě úspěchu, jinak FALSE.
Remarks
TransparentBlt podporuje zdrojové rastrové obrázky 4 bitů na pixel a 8 bitů na pixel. Slouží CImage::AlphaBlend k určení 32 bitů rastrových obrázků na pixel s průhledností.
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;
}
See also
MMXSwarm Ukázka
SimpleImage Ukázka
Device-Independent Bitmaps
CreateDIBSection
Desktopové komponenty ATL objektů COM
Device-Independent Bitmaps