Condividi tramite


CImage Class

CImage fornisce supporto bitmap avanzato, tra cui la possibilità di caricare e salvare le immagini in JPEG, GIF, in BMP e nei formati portabili (PNG) grafiche di rete.

Importante

Questa classe e i relativi membri non possono essere utilizzati nelle applicazioni eseguite in Windows Runtime.

class CImage

Membri

Costruttori pubblici

Nome

Descrizione

CImage::CImage

Costruttore.

Metodi pubblici

Nome

Descrizione

CImage::AlphaBlend

Visualizzare le bitmap con pixel trasparenti o semitrasparenti.

CImage::Attach

Associa HBITMAP a un oggetto CImage. Può essere utilizzato con non FILE DIB le bitmap nella sezione o FILE DIB le bitmap nella sezione.

CImage::BitBlt

Copia una bitmap dal contesto di dispositivo di origine al contesto di dispositivo corrente.

CImage::Create

Crea una bitmap della sezione della DIB e allegarlo all'oggetto precedentemente costruzione CImage.

CImage::CreateEx

Crea una bitmap della sezione della DIB (con parametri aggiuntivi) e si connette all'oggetto precedentemente costruzione CImage.

CImage::Destroy

Rimuove la bitmap dall'oggetto CImage ed elimina la bitmap.

CImage::Detach

Rimuove la bitmap da un oggetto CImage.

CImage::Draw

Copia una bitmap da un rettangolo di origine in un rettangolo di destinazione. Disegno appropriata o comprimere la bitmap per adattare le dimensioni del rettangolo di destinazione se necessario e gestisce la fusione alfa dei colori trasparenti.

CImage::GetBits

Recupera un puntatore ai valori in pixel della bitmap.

CImage::GetBPP

Recupera i bit per pixel.

CImage::GetColorTable

Recupera i valori di colore rosso, verde, blu di (RGB) da un intervallo delle voci nella tabella dei colori.

CImage::GetDC

Recupera il contesto di dispositivo in cui la bitmap corrente è selezionata.

CImage::GetExporterFilterString

Cerca i formati immagine disponibili e le relative descrizioni.

CImage::GetHeight

Recupera l'altezza dell'immagine corrente in pixel.

CImage::GetImporterFilterString

Cerca i formati immagine disponibili e le relative descrizioni.

CImage::GetMaxColorTableEntries

Recupera il numero massimo delle voci nella tabella dei colori.

CImage::GetPitch

Recupera il passo dell'immagine corrente, in byte.

CImage::GetPixel

Recupera il colore del pixel specificato dalla x e Y da.

CImage::GetPixelAddress

Viene recuperato l'indirizzo di un dato pixel.

CImage::GetTransparentColor

Recupera il percorso del colore completamente trasparente nella tabella dei colori.

CImage::GetWidth

Recupera la larghezza corrente dell'immagine in pixel.

CImage::IsDIBSection

Determina se la bitmap associata è una sezione della DIB.

CImage::IsIndexed

Indica che i colori di una bitmap sono mappate a una tavolozza indicizzata.

CImage::IsNull

Indica se una bitmap di risorsa attualmente caricata.

CImage::IsTransparencySupported

Indica se l'applicazione supporta le bitmap transparent ed è stato compilato per Windows 2000 o versioni successive.

CImage::Load

Carica un'immagine dal file specificato.

CImage::LoadFromResource

Carica un'immagine dalla risorsa specificata.

CImage::MaskBlt

Combina i dati di colore per le bitmap di origine e di destinazione utilizzando la maschera e dell'operazione raster specificate.

CImage::PlgBlt

Esegue un trasferimento di blocchi di bit da un rettangolo in un contesto di dispositivo di origine in un parallelogramma in un contesto di dispositivo di destinazione.

CImage::ReleaseDC

Rilascia il contesto di dispositivo che è stato recuperato da CImage::GetDC.

CImage::ReleaseGDIPlus

Liberare le risorse utilizzate da GDI+. Deve essere chiamato per liberare risorse create da un oggetto globale CImage.

CImage::Save

Salva un'immagine come tipo specificato. Salva impossibile specificare le opzioni di immagine.

CImage::SetColorTable

Imposta i valori di colore rosso, verde, blu RGB) in un intervallo delle voci nella tabella dei colori della DIB.

CImage::SetPixel

Imposta il pixel alle coordinate specificate nel colore specificato.

CImage::SetPixelIndexed

Imposta il pixel alle coordinate specificate nel colore l'indice specificato della tavolozza.

CImage::SetPixelRGB

Imposta il pixel alle coordinate specificate al valore rosso, verde, blu specificato di (RGB).

CImage::SetTransparentColor

Imposta il valore del colore da considerare come trasparente. Solo un colore da una tavolozza può essere trasparente.

CImage::StretchBlt

Copia una bitmap da un rettangolo di origine in un rettangolo di destinazione, adattante o pacchetti la bitmap per adattare le dimensioni del rettangolo di destinazione, se necessario.

CImage::TransparentBlt

Copia una bitmap con un colore completamente trasparente dal contesto di dispositivo di origine al contesto di dispositivo corrente.

Operatori pubblici

Nome

Descrizione

CImage::operator HBITMAP

Restituisce un handle di Windows incluse nell'oggetto CImage.

Note

CImage accetta le bitmap cioé sezioni di (DIB) della bitmap indipendente dal dispositivo o meno, tuttavia, è possibile utilizzare Crea o CImage::Load solo con DIB le sezioni. È possibile connettere una bitmap nella sezione di non DIB a un oggetto CImage utilizzando Connetti, ma se invece non è possibile utilizzare i seguenti metodi CImage, che supportano solo FILE DIB le bitmap nella sezione:

Per determinare se una bitmap associata è una sezione della DIB, chiamare IsDibSection.

Nota

Note in Visual Studio .NET 2003., questa classe mantiene un conteggio del numero di oggetti CImage creato.Ogni volta che il conteggio fino a 0, la funzione GdiplusShutdown automaticamente viene chiamata per liberare le risorse utilizzate da GDI+.In questo modo tutti gli oggetti CImage creati direttamente o da DLL si distruggano indirettamente sempre correttamente e che GdiplusShutdown non viene chiamato da DllMain.

Nota

Utilizzando CImage globale gli oggetti in una DLL non è consigliata.Se è necessario utilizzare un oggetto globale CImage in una DLL, la chiamata CImage::ReleaseGDIPlus in modo esplicito per liberare le risorse utilizzate da GDI+.

CImage non può essere selezionato nella CDC. CImage crea il proprio HDC per l'immagine. Poiché HBITMAP è possibile selezionare solo in un HDC per volta, HBITMAP associato a CImage non può essere selezionato in un altro HDC. Se è necessario CDC, recuperare HDC da CImage e immetterlo in CDC::FromHandle.

Esempio

// 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();

Quando si utilizza CImage in un progetto MFC, alle funzioni membro nel progetto prevedono un puntatore a un oggetto CBitmap. Se si desidera utilizzare CImage con tale funzione, come CMenu::AppendMenu, utilizzare CBitmap::FromHandle, per passare il CImageHBITMAPe utilizzare **CBitmap***restituito.

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);
}

Con CImage, è possibile accedere agli effettivi bit di una sezione della DIB. È possibile utilizzare un oggetto CImage ovunque precedentemente utilizzato un oggetto Win32 HBITMAP o che PESCATE DIB la sezione.

Nota

I seguenti metodi CImage presentano limitazioni di utilizzo:

Metodo

Limitazione

PlgBlt

Funziona solo con Windows NT 4.0 o successiva. Non tutte le applicazioni in esecuzione su Windows 95/98 o versione successiva.

MaskBlt

Funziona solo con Windows NT 4.0 o successiva. Non tutte le applicazioni in esecuzione su Windows 95/98 o versione successiva.

AlphaBlend

Funziona solo con Windows 2000, Windows 98 e sistemi successivi.

TransparentBlt

Funziona solo con Windows 2000, Windows 98 e sistemi successivi.

Disegno

Supporta la trasparenza solo con Windows 2000, Windows 98 e sistemi successivi.

Vedere Limitazioni di CImage con i sistemi operativi precedenti per informazioni più dettagliate sulle limitazioni di questi metodi.

È possibile utilizzare CImage da MFC o da ATL.

Nota

Quando si crea un progetto utilizzando CImage, è necessario definire CString prima di importare atlimage.h.Se il progetto utilizza ATL senza MFC, includere atlstr.h prima di importare atlimage.h.Se il progetto utilizza MFC (o se è un progetto ATL con supporto MFC), includere afxstr.h prima di importare atlimage.h.

Inoltre, è necessario includere atlimage.h prima di importare atlimpl.cpp.A tale scopo, includere facilmente atlimage.h nel stdafx.h.

Requisiti

Header: atlimage.h

Vedere anche

Riferimenti

Device-Independent Bitmaps

CreateDIBSection

Concetti

Esempio MMXSwarm

Esempio SimpleImage

Altre risorse

ATL COM Desktop Components