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ż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 |
---|---|
Konstruktor. |
Metody publiczne
Nazwa |
Opis |
---|---|
Wyświetla bitmap przezroczyste lub półprzezroczyste piksele. |
|
Dołącza HBITMAP do CImage obiektu.Można nie DIB sekcji bitmapy lub DIB sekcji bitmapy. |
|
Kopiuje bitmapy z kontekstu urządzenia źródłowego do tego bieżącego kontekstu urządzenia. |
|
Tworzy DIB sekcji bitmapy i dołącza go do wcześniej konstruowanej CImage obiektu. |
|
Tworzy mapy bitowej sekcji DIB (z dodatkowymi parametrami) i dołącza go do wcześniej konstruowanej CImage obiektu. |
|
Odłącza bitmapy z CImage obiektu i niszczy bitmapy. |
|
Odłącza bitmapy z CImage obiektu. |
|
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. |
|
Pobiera wskaźnik do wartości rzeczywiste pikseli bitmapy. |
|
Pobiera bitów na piksel. |
|
Pobiera wartości kolor czerwony, zielony, niebieski (RGB) z zakresu zapisów w tabeli kolorów. |
|
Pobiera kontekstu urządzenia, do którego bieżącej mapy bitowej jest zaznaczone. |
|
Wyszukuje formatów dostępnych obrazów i ich opisy. |
|
Pobiera wysokość bieżącego obrazu w pikselach. |
|
Wyszukuje formatów dostępnych obrazów i ich opisy. |
|
Pobiera maksymalną liczbę wpisów w tabeli kolorów. |
|
Pobiera wysokość bieżącego obrazu, w bajtach. |
|
Pobiera kolor piksela określonej przez x i y. |
|
Pobiera adres danego piksela. |
|
Pobiera pozycji w tabeli kolorów kolor przezroczysty. |
|
Pobiera szerokość bieżącego obrazu w pikselach. |
|
Określa, czy dołączone mapy bitowej jest sekcja DIB. |
|
Wskazuje, że mapy bitowej kolory są mapowane do indeksowanych palety. |
|
Wskazuje, jeśli źródłowa bitmapa jest aktualnie załadowany. |
|
Wskazuje, czy aplikacja obsługuje bitmapy przezroczyste i został skompilowany w systemie Windows 2000 lub nowszym. |
|
Ładuje obraz z określonego pliku. |
|
Ładuje obraz z określonego zasobu. |
|
Łączy dane koloru dla map bitowych źródłowego i docelowego przy użyciu określonej maski i rastrowe operacji. |
|
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. |
|
Zwalnia kontekstu urządzenia, który został pobrany z CImage::GetDC. |
|
Zwalnia zasoby używane przez GDI +.Musi zostać wywołana, aby zwolnić zasoby utworzone przez globalne CImage obiektu. |
|
Zapisuje obraz jako określonego typu.Zapisz nie można określić opcje obrazu. |
|
Ustawia RGB red, green, blue) wartości w zakresie wpisów w tabeli kolorów w sekcji DIB kolorów. |
|
Ustawia piksela na określonych współrzędnych do określonego koloru. |
|
Ustawia piksela na określonych współrzędnych pod określonym indeksem palety kolor. |
|
Ustawia piksela na określonych współrzędnych wartość czerwony określonego zielony, niebieski (RGB). |
|
Ustawia indeks koloru należy traktować jako przezroczysty.Tylko jeden kolor w palecie może być przezroczyste. |
|
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. |
|
Kopiuje bitmapy przezroczyste kolorem z kontekstu urządzenia źródłowego do tego bieżącego kontekstu urządzenia. |
Podmioty publiczne
Nazwa |
Opis |
---|---|
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 |
---|---|
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. |
|
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. |
|
Program Works z systemu Windows 2000, Windows 98 i nowszych systemach. |
|
Program Works z systemu Windows 2000, Windows 98 i nowszych systemach. |
|
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