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 |
---|---|
Costruttore. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Visualizzare le bitmap con pixel trasparenti o semitrasparenti. |
|
Associa HBITMAP a un oggetto CImage. Può essere utilizzato con non FILE DIB le bitmap nella sezione o FILE DIB le bitmap nella sezione. |
|
Copia una bitmap dal contesto di dispositivo di origine al contesto di dispositivo corrente. |
|
Crea una bitmap della sezione della DIB e allegarlo all'oggetto precedentemente costruzione CImage. |
|
Crea una bitmap della sezione della DIB (con parametri aggiuntivi) e si connette all'oggetto precedentemente costruzione CImage. |
|
Rimuove la bitmap dall'oggetto CImage ed elimina la bitmap. |
|
Rimuove la bitmap da un oggetto CImage. |
|
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. |
|
Recupera un puntatore ai valori in pixel della bitmap. |
|
Recupera i bit per pixel. |
|
Recupera i valori di colore rosso, verde, blu di (RGB) da un intervallo delle voci nella tabella dei colori. |
|
Recupera il contesto di dispositivo in cui la bitmap corrente è selezionata. |
|
Cerca i formati immagine disponibili e le relative descrizioni. |
|
Recupera l'altezza dell'immagine corrente in pixel. |
|
Cerca i formati immagine disponibili e le relative descrizioni. |
|
Recupera il numero massimo delle voci nella tabella dei colori. |
|
Recupera il passo dell'immagine corrente, in byte. |
|
Recupera il colore del pixel specificato dalla x e Y da. |
|
Viene recuperato l'indirizzo di un dato pixel. |
|
Recupera il percorso del colore completamente trasparente nella tabella dei colori. |
|
Recupera la larghezza corrente dell'immagine in pixel. |
|
Determina se la bitmap associata è una sezione della DIB. |
|
Indica che i colori di una bitmap sono mappate a una tavolozza indicizzata. |
|
Indica se una bitmap di risorsa attualmente caricata. |
|
Indica se l'applicazione supporta le bitmap transparent ed è stato compilato per Windows 2000 o versioni successive. |
|
Carica un'immagine dal file specificato. |
|
Carica un'immagine dalla risorsa specificata. |
|
Combina i dati di colore per le bitmap di origine e di destinazione utilizzando la maschera e dell'operazione raster specificate. |
|
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. |
|
Rilascia il contesto di dispositivo che è stato recuperato da CImage::GetDC. |
|
Liberare le risorse utilizzate da GDI+. Deve essere chiamato per liberare risorse create da un oggetto globale CImage. |
|
Salva un'immagine come tipo specificato. Salva impossibile specificare le opzioni di immagine. |
|
Imposta i valori di colore rosso, verde, blu RGB) in un intervallo delle voci nella tabella dei colori della DIB. |
|
Imposta il pixel alle coordinate specificate nel colore specificato. |
|
Imposta il pixel alle coordinate specificate nel colore l'indice specificato della tavolozza. |
|
Imposta il pixel alle coordinate specificate al valore rosso, verde, blu specificato di (RGB). |
|
Imposta il valore del colore da considerare come trasparente. Solo un colore da una tavolozza può essere trasparente. |
|
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. |
|
Copia una bitmap con un colore completamente trasparente dal contesto di dispositivo di origine al contesto di dispositivo corrente. |
Operatori pubblici
Nome |
Descrizione |
---|---|
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 |
---|---|
Funziona solo con Windows NT 4.0 o successiva. Non tutte le applicazioni in esecuzione su Windows 95/98 o versione successiva. |
|
Funziona solo con Windows NT 4.0 o successiva. Non tutte le applicazioni in esecuzione su Windows 95/98 o versione successiva. |
|
Funziona solo con Windows 2000, Windows 98 e sistemi successivi. |
|
Funziona solo con Windows 2000, Windows 98 e sistemi successivi. |
|
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