Udostępnij za pośrednictwem


Klasa CImage

CImagezapewnia obsługę rozszerzonych bitmapy, włączając możliwość załadowania i zapisywanie obrazów w formatach JPEG, GIF, BMP i Portable Network Graphics (PNG).

Ważna uwagaWażne

W aplikacjach, które są wykonywane w Windows Runtime nie można użyć tej klasy i jej członków.

class CImage

Członkowie

Publiczne konstruktory

Nazwa

Opis

CImage::CImage

Konstruktor.

Metody publiczne

Nazwa

Opis

CImage::AlphaBlend

Wyświetla bitmap przezroczyste lub półprzezroczyste piksele.

CImage::Attach

Dołącza HBITMAP do CImage obiektu.Można nie DIB sekcji bitmapy lub DIB sekcji bitmapy.

CImage::BitBlt

Kopiuje bitmapy z kontekstu urządzenia źródłowego do tego bieżącego kontekstu urządzenia.

CImage::Create

Tworzy DIB sekcji bitmapy i dołącza go do wcześniej konstruowanej CImage obiektu.

CImage::CreateEx

Tworzy mapy bitowej sekcji DIB (z dodatkowymi parametrami) i dołącza go do wcześniej konstruowanej CImage obiektu.

CImage::Destroy

Odłącza bitmapy z CImage obiektu i niszczy bitmapy.

CImage::Detach

Odłącza bitmapy z CImage obiektu.

CImage::Draw

Kopiuje bitmapy z prostokąta źródłowego do docelowego prostokąta.Rysuj rozciąga lub kompresuje bitmapy, aby dopasować wymiary prostokąta przeznaczenia, w razie potrzeby i obsługuje mieszania alfa i kolory przezroczyste.

CImage::GetBits

Pobiera wskaźnik do wartości rzeczywiste pikseli bitmapy.

CImage::GetBPP

Pobiera bitów na piksel.

CImage::GetColorTable

Pobiera wartości kolor czerwony, zielony, niebieski (RGB) z zakresu zapisów w tabeli kolorów.

CImage::GetDC

Pobiera kontekstu urządzenia, do którego bieżącej mapy bitowej jest zaznaczone.

CImage::GetExporterFilterString

Wyszukuje formatów dostępnych obrazów i ich opisy.

CImage::GetHeight

Pobiera wysokość bieżącego obrazu w pikselach.

CImage::GetImporterFilterString

Wyszukuje formatów dostępnych obrazów i ich opisy.

CImage::GetMaxColorTableEntries

Pobiera maksymalną liczbę wpisów w tabeli kolorów.

CImage::GetPitch

Pobiera wysokość bieżącego obrazu, w bajtach.

CImage::GetPixel

Pobiera kolor piksela określonej przez x i y.

CImage::GetPixelAddress

Pobiera adres danego piksela.

CImage::GetTransparentColor

Pobiera pozycji w tabeli kolorów kolor przezroczysty.

CImage::GetWidth

Pobiera szerokość bieżącego obrazu w pikselach.

CImage::IsDIBSection

Określa, czy dołączone mapy bitowej jest sekcja DIB.

CImage::IsIndexed

Wskazuje, że mapy bitowej kolory są mapowane do indeksowanych palety.

CImage::IsNull

Wskazuje, jeśli źródłowa bitmapa jest aktualnie załadowany.

CImage::IsTransparencySupported

Wskazuje, czy aplikacja obsługuje bitmapy przezroczyste i został skompilowany w systemie Windows 2000 lub nowszym.

CImage::Load

Ładuje obraz z określonego pliku.

CImage::LoadFromResource

Ładuje obraz z określonego zasobu.

CImage::MaskBlt

Łączy dane koloru dla map bitowych źródłowego i docelowego przy użyciu określonej maski i rastrowe operacji.

CImage::PlgBlt

Wykonuje przesunięcia bitowego bloku z prostokąta w kontekście urządzenia źródłowego w równoległobok w kontekście urządzenia docelowego.

CImage::ReleaseDC

Zwalnia kontekstu urządzenia, który został pobrany z CImage::GetDC.

CImage::ReleaseGDIPlus

Zwalnia zasoby używane przez GDI +.Musi zostać wywołana, aby zwolnić zasoby utworzone przez globalne CImage obiektu.

CImage::Save

Zapisuje obraz jako określonego typu.Zapisz nie można określić opcje obrazu.

CImage::SetColorTable

Ustawia RGB red, green, blue) wartości w zakresie wpisów w tabeli kolorów w sekcji DIB kolorów.

CImage::SetPixel

Ustawia piksela na określonych współrzędnych do określonego koloru.

CImage::SetPixelIndexed

Ustawia piksela na określonych współrzędnych pod określonym indeksem palety kolor.

CImage::SetPixelRGB

Ustawia piksela na określonych współrzędnych wartość czerwony określonego zielony, niebieski (RGB).

CImage::SetTransparentColor

Ustawia indeks koloru należy traktować jako przezroczysty.Tylko jeden kolor w palecie może być przezroczyste.

CImage::StretchBlt

Kopiuje bitmapy z prostokąta źródłowego do docelowego prostokąta, rozciągnięcie lub kompresowanie bitmapy, aby dopasować wymiary prostokąta przeznaczenia, jeśli to konieczne.

CImage::TransparentBlt

Kopiuje bitmapy przezroczyste kolorem z kontekstu urządzenia źródłowego do tego bieżącego kontekstu urządzenia.

Podmioty publiczne

Nazwa

Opis

CImage::operator HBITMAP

Zwraca uchwyt Windows podłączone do CImage obiektu.

Uwagi

CImageTrwa bitmap, które są albo sekcje mapy bitowej niezależnej od urządzenia (DIB) lub nie; można jednak użyć Tworzenie lub CImage::Load z tylko sekcje DIB.Bitmapę sekcji DIB nie można dołączyć CImage obiektu za pomocą Dołącz, ale następnie nie można używać następujących CImage metody, które obsługują tylko DIB sekcji bitmapy:

Aby określić, czy dołączone mapy bitowej jest sekcja DIB, call IsDibSection.

[!UWAGA]

Uwaga W Visual Studio .net 2003, ta klasa przechowuje licznika liczby CImage obiekty utworzone.Gdy licznik przechodzi do 0, funkcja GdiplusShutdown nazywa się automatycznie zwolnić zasoby używane przez GDI +.Gwarantuje to, że dowolny CImage obiektów utworzonych bezpośrednio lub pośrednio przez dll zawsze są właściwie zniszczone oraz że GdiplusShutdown nie jest wywoływana z DllMain.

[!UWAGA]

Za pomocą globalnej CImage obiektów w bibliotece DLL nie jest zalecane.Jeśli trzeba użyć globalnym CImage obiektu w bibliotece DLL wywołania CImage::ReleaseGDIPlus jawnie zwolnić zasoby używane przez GDI +.

CImagenie można wybrać do nowego CDC.CImagetworzy własną HDC obrazu.Ponieważ HBITMAP można wybrać tylko do jednej HDC w czasie, HBITMAP związane z CImage nie można wybrać do innego HDC.Jeśli potrzebujesz CDC, pobrać HDC z CImage i nadać jej do CDC::FromHandle.

Przykład

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

Kiedy używać CImage w projekcie MFC Uwaga funkcji elementów członkowskich, które w projekcie oczekiwać wskaźnik do CBitmap obiektu.Jeśli chcesz użyć CImage z funkcją, jak CMenu::AppendMenu, użyj CBitmap::FromHandle, przekazać je na CImageHBITMAPi zwrócony 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);
}

Poprzez CImage, masz dostęp do bitów sekcji DIB.Można użyć CImage obiekt dowolnym poprzednio używane sekcji Win32 HBITMAP lub DIB.

[!UWAGA]

Następujące CImage metody mają ograniczenia ich stosowania:

Metoda

Ograniczenia

PlgBlt

Działa tylko w systemie Windows NT 4.0 lub nowszej.Nie będą działać aplikacje uruchomione w systemie Windows 95 i 98 lub nowszym.

MaskBlt

Działa tylko w systemie Windows NT 4.0 lub nowszej.Nie będą działać aplikacje uruchomione w systemie Windows 95 i 98 lub nowszym.

AlphaBlend

Program Works z systemu Windows 2000, Windows 98 i nowszych systemach.

TransparentBlt

Program Works z systemu Windows 2000, Windows 98 i nowszych systemach.

Rysuj

Obsługuje przezroczystość z systemu Windows 2000, Windows 98 i nowszych systemach.

Zobacz CImage ograniczenia z wcześniejszych systemów operacyjnych Aby uzyskać więcej informacji na temat tych metod.

Można użyć CImage z MFC lub ATL.

[!UWAGA]

Podczas tworzenia projektu przy użyciu CImage, należy zdefiniować CString przed dołączeniem atlimage.h.Jeśli Projekt ATL bez MFC, obejmują atlstr.h przed dołączeniem atlimage.h.Jeśli projekt używa MFC (lub jeśli jest to Projekt ATL z obsługą MFC), afxstr.h przed dołączeniem atlimage.h.

Podobnie, musi zawierać atlimage.h przed dołączeniem atlimpl.cpp.Aby to łatwo osiągnąć, atlimage.h w sieci stdafx.h.

Wymagania

Nagłówek: atlimage.h

Zobacz też

Informacje

Device-Independent Bitmaps

CreateDIBSection

Koncepcje

Próbki MMXSwarm

SimpleImage próbki.

Inne zasoby

Składniki COM pulpitu ATL