Sdílet prostřednictvím


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).

Důležitá poznámkaDůležité

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

CImage::CImage

Konstruktor.

Veřejné metody

Název

Description

CImage::AlphaBlend

Zobrazí bitmap, které mají průhledný nebo poloprůhledný pixelů.

CImage::Attach

Připojí HBITMAP se CImage objektu.Lze použít s-formát DIB části bitmapy nebo části rastry DIB.

CImage::BitBlt

Zkopíruje bitmapy z kontextu zařízení zdroj této aktuální kontext zařízení.

CImage::Create

Vytvoří oddíl Rastr DIB a připojí jej již vyrobeno CImage objektu.

CImage::CreateEx

Vytvoří oddíl Rastr DIB (s další parametry) a připojí jej již vyrobeno CImage objektu.

CImage::Destroy

Odpojí bitmapy z CImage objektu a ničí bitmapy.

CImage::Detach

Odpojí bitmapy z CImage objektu.

CImage::Draw

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.

CImage::GetBits

Načte ukazatel na skutečné rastrového obrázku v pixelech.

CImage::GetBPP

Načte bitů na pixel.

CImage::GetColorTable

Použije hodnoty červené, zelené, modré barvy (RGB) z rozsahu položek v tabulce barev.

CImage::GetDC

Načte kontext zařízení, do kterého je vybrána aktuální bitmapy.

CImage::GetExporterFilterString

Najde dostupné obrazových formátů a jejich popisy.

CImage::GetHeight

Načte výška aktuálního obrázku v pixelech.

CImage::GetImporterFilterString

Najde dostupné obrazových formátů a jejich popisy.

CImage::GetMaxColorTableEntries

Načte maximální počet položek v tabulce barev.

CImage::GetPitch

Načte rozteč aktuálního obrázku v bajtech.

CImage::GetPixel

Zjišťuje barvu pixelu podle x a y.

CImage::GetPixelAddress

Načte adresu daného obrazového bodu.

CImage::GetTransparentColor

Načte pozici průhlednou barvu v tabulce barev.

CImage::GetWidth

Zjišťuje šířku aktuálního obrázku v pixelech.

CImage::IsDIBSection

Určuje, zda je připojený Rastr DIB oddílu.

CImage::IsIndexed

Označuje, že barvy bitmapy jsou mapovány na indexovaná paleta.

CImage::IsNull

Označuje, pokud je aktuálně načtený zdrojový rastrový obrázek.

CImage::IsTransparencySupported

Určuje, zda aplikace podporuje průhledné bitmapy a byl kompilován pro systém Windows 2000 nebo novější.

CImage::Load

Načte obraz z určeného souboru.

CImage::LoadFromResource

Načte obraz z určeného prostředku.

CImage::MaskBlt

Kombinuje data barev pro zdrojové a cílové bitmapy pomocí zadané masky a rastrové operace.

CImage::PlgBlt

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í.

CImage::ReleaseDC

Uvolnění kontextu zařízení, která byla načtena s CImage::GetDC.

CImage::ReleaseGDIPlus

Uvolní prostředky, které používají rozhraní GDI +.Musí být volána uvolněte prostředky vytvořené jako globální CImage objektu.

CImage::Save

Obraz se uloží jako zadaného typu.Uložit nelze určit možnosti obrázku.

CImage::SetColorTable

Nastaví RGB červená, zelená, modrá) barevných hodnot v rozsahu položek v tabulce barev oddílu DIB.

CImage::SetPixel

Nastaví na zadaných souřadnic zadaná barva obrazového bodu.

CImage::SetPixelIndexed

Nastaví na zadaných souřadnic v zadaném indexu palety barvy obrazového bodu.

CImage::SetPixelRGB

Nastaví na hodnotu zadané červené, zelené, modré (RGB) zadaných souřadnic obrazového bodu.

CImage::SetTransparentColor

Nastavuje index barvy být zpracována jako průhledný.Pouze jednu barvu v paletě můžete být průhledné.

CImage::StretchBlt

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.

CImage::TransparentBlt

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

CImage::operator HBITMAP

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í

PlgBlt

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.

MaskBlt

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.

AlphaBlend

Pracuje se pouze systém Windows 2000, Windows 98 a novější systémy.

TransparentBlt

Pracuje se pouze systém Windows 2000, Windows 98 a novější systémy.

Kreslení

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

Viz také

Referenční dokumentace

Device-Independent Bitmaps

CreateDIBSection

Koncepty

Vzorek MMXSwarm

SimpleImage vzorku

Další zdroje

Komponenty COM plochy ATL