Třída CImage
CImageposkytuje podporu rozšířené bitmapy, včetně možnosti načíst a uložit obrázky ve formátech JPEG, GIF, BMP a Portable Network Graphics (PNG).
![]() |
---|
Třídy a jejích členů nelze použít v aplikacích, které spustit v modulu Runtime v systému Windows. |
class CImage
Členy
Veřejné konstruktory
Název |
Description |
---|---|
Konstruktor. |
Veřejné metody
Název |
Description |
---|---|
Zobrazí bitmap, které mají průhledný nebo poloprůhledný pixelů. |
|
Připojí HBITMAP se CImage objektu.Lze použít s-formát DIB části bitmapy nebo části rastry DIB. |
|
Zkopíruje bitmapy z kontextu zařízení zdroj této aktuální kontext zařízení. |
|
Vytvoří oddíl Rastr DIB a připojí jej již vyrobeno CImage objektu. |
|
Vytvoří oddíl Rastr DIB (s další parametry) a připojí jej již vyrobeno CImage objektu. |
|
Odpojí bitmapy z CImage objektu a ničí bitmapy. |
|
Odpojí bitmapy z CImage objektu. |
|
Rastrový obrázek ze zdrojového obdélníku se zkopíruje do cílového obdélníku.Kreslení roztáhne nebo komprimuje bitmapy v případě potřeby přizpůsobit rozměry cílového obdélníku a zpracovává alfa prolnutí a průhledné barvy. |
|
Načte ukazatel na skutečné rastrového obrázku v pixelech. |
|
Načte bitů na pixel. |
|
Použije hodnoty červené, zelené, modré barvy (RGB) z rozsahu položek v tabulce barev. |
|
Načte kontext zařízení, do kterého je vybrána aktuální bitmapy. |
|
Najde dostupné obrazových formátů a jejich popisy. |
|
Načte výška aktuálního obrázku v pixelech. |
|
Najde dostupné obrazových formátů a jejich popisy. |
|
Načte maximální počet položek v tabulce barev. |
|
Načte rozteč aktuálního obrázku v bajtech. |
|
Zjišťuje barvu pixelu podle x a y. |
|
Načte adresu daného obrazového bodu. |
|
Načte pozici průhlednou barvu v tabulce barev. |
|
Zjišťuje šířku aktuálního obrázku v pixelech. |
|
Určuje, zda je připojený Rastr DIB oddílu. |
|
Označuje, že barvy bitmapy jsou mapovány na indexovaná paleta. |
|
Označuje, pokud je aktuálně načtený zdrojový rastrový obrázek. |
|
Určuje, zda aplikace podporuje průhledné bitmapy a byl kompilován pro systém Windows 2000 nebo novější. |
|
Načte obraz z určeného souboru. |
|
Načte obraz z určeného prostředku. |
|
Kombinuje data barev pro zdrojové a cílové bitmapy pomocí zadané masky a rastrové operace. |
|
Provádí přenos bloků z obdélníku v kontextu zdrojového zařízení do rovnoběžník v kontextu cílové zařízení. |
|
Uvolnění kontextu zařízení, která byla načtena s CImage::GetDC. |
|
Uvolní prostředky, které používají rozhraní GDI +.Musí být volána uvolněte prostředky vytvořené jako globální CImage objektu. |
|
Obraz se uloží jako zadaného typu.Uložit nelze určit možnosti obrázku. |
|
Nastaví RGB červená, zelená, modrá) barevných hodnot v rozsahu položek v tabulce barev oddílu DIB. |
|
Nastaví na zadaných souřadnic zadaná barva obrazového bodu. |
|
Nastaví na zadaných souřadnic v zadaném indexu palety barvy obrazového bodu. |
|
Nastaví na hodnotu zadané červené, zelené, modré (RGB) zadaných souřadnic obrazového bodu. |
|
Nastavuje index barvy být zpracována jako průhledný.Pouze jednu barvu v paletě můžete být průhledné. |
|
Rastrový obrázek ze zdrojového obdélníku se zkopíruje do cílového obdélníku roztažení nebo komprese bitmapy přizpůsobit rozměry cílového obdélníku, v případě potřeby. |
|
Rastrový obrázek s průhlednou barvu z kontextu zdrojového zařízení zkopíruje tento aktuální kontext zařízení. |
Veřejné operátory
Název |
Description |
---|---|
Vrátí popisovač Windows připojených k CImage objektu. |
Poznámky
CImagetrvá bitmap, které jsou buď rastr nezávislý na zařízení (DIB) oddílů či nikoli; Můžete však použít vytvořit nebo CImage::Load se pouze oddíly DIB.Formát DIB části Bitmapa, aby se můžete připojit CImage objektu pomocí Attach, ale pak nelze použít následující CImage metody, které podporují pouze části rastry DIB:
Určit, zda je připojený Rastr DIB oddílu, zavolejte na IsDibSection.
[!POZNÁMKA]
Poznámka: v aplikaci Visual Studio .net 2003 tato třída uchovává spočítat počet CImage objekty vytvořené.Při počítání přejde na 0, funkce GdiplusShutdown je volána automaticky uvolnit prostředky používané rozhraní GDI +.Tím zajistíte, že všechny CImage objekty přímo či nepřímo vytvořené knihovny DLL jsou zničeny vždy správně a že GdiplusShutdown není volána z DllMain .
[!POZNÁMKA]
Pomocí globální CImage objektů v knihovně DLL se nedoporučuje.Pokud potřebujete použít jako globální CImage v knihovně DLL volání objektu CImage::ReleaseGDIPlus výslovně uvolnit prostředky používané rozhraní GDI +.
CImageNelze vybrat do nového CDC.CImageVytvoří vlastní HDC obrazu.Protože HBITMAP mohou být vybrány pouze do jednoho HDC v době, HBITMAP spojené s CImage nelze vybrat do jiného HDC.Pokud potřebujete CDC , načíst HDC z CImage a přiřaďte ji k CDC::FromHandle.
Příklad
// 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 aplikace MFC Poznámka: funkce členů, které v projektu očekávat ukazatel CBitmap objektu.Chcete-li použít CImage s funkcí, jako CMenu::AppendMenu, použijte CBitmap::FromHandle, předá vaše CImageHBITMAPa 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 bitů části DIB.Můžete použít CImage objekt kdekoliv dříve použité části Win32 HBITMAP nebo DIB.
[!POZNÁMKA]
Následující CImage metody mají omezení jejich užívání:
Metoda |
Omezení |
---|---|
Pracuje pouze v systému Windows NT 4.0 nebo novější.Nebude fungovat na aplikace spuštěné v systému Windows 95 a Windows 98 nebo novějším. |
|
Pracuje pouze v systému Windows NT 4.0 nebo novější.Nebude fungovat na aplikace spuštěné v systému Windows 95 a Windows 98 nebo novějším. |
|
Pracuje se pouze systém Windows 2000, Windows 98 a novější systémy. |
|
Pracuje se pouze systém Windows 2000, Windows 98 a novější systémy. |
|
Podporuje průhlednost s pouze systém Windows 2000, Windows 98 a novější systémy. |
Viz CImage omezení se staršími operačními systémy podrobnější informace o omezeních v těchto metod.
Můžete použít CImage z MFC nebo ATL.
[!POZNÁMKA]
Při vytvoření projektu pomocí CImage , je nutné definovat CString než atlimage.h .Pokud projekt používá ATL bez MFC, atlstr.h než atlimage.h .Pokud projekt používá MFC (nebo pokud je projekt ATL s podporou MFC), afxstr.h než atlimage.h .
Podobně musí obsahovat atlimage.h než atlimpl.cpp .K tomu snadno zahrnout atlimage.h ve vaší stdafx.h .
Požadavky
Záhlaví: atlimage.h