CImage Class
CImage обеспечивает поддержку растрового изображения, включая возможность загрузки и сохранения изображений в BMP, JPEG, GIF и PNG (PNG форматах).
Важно!
Этот класс и его члены нельзя использовать в приложениях, выполняемых в этой среде выполнения Windows.
class CImage
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Конструктор. |
Открытые методы
Имя |
Описание |
---|---|
Указывает растровые изображения, имеющих прозрачные и полупрозрачных точки. |
|
Вложение HBITMAP к объекту CImage. Может использоваться с растровыми изображениями растровых изображений раздела non-DIB или раздела DIB. |
|
Копирует растровое изображение из контекста устройства источника к этому текущий контекст устройства. |
|
Создает растровое изображение раздела DIB и вложение его на ранее созданный объект CImage. |
|
Создает растровое изображение раздела DIB (с дополнительными параметрами) и привязывает его на ранее созданный объект CImage. |
|
Наконец удаляет растровое изображение из объекта CImage и уничтожает растровое изображение. |
|
Наконец удаляет растровое изображение из объекта CImage. |
|
Копирует растровое изображение из прямоугольника источника в прямоугольник назначения. Ничья растянет или сжимает растровое изображение для приспособления измерений прямоугольника назначения, если необходимый и обрабатывает альфа-смешения и прозрачного цвета. |
|
Извлекает указатель на фактические значения пикселей растрового изображения. |
|
Извлекает бит на точку. |
|
Извлекает красного, зеленого и синего (RGB) из диапазона записей таблицы цветов. |
|
Получает контекст устройства, в котором текущее растровое изображение выделен. |
|
Находит доступные форматы изображения и их описания. |
|
Получает высоту текущего изображения в пикселях. |
|
Находит доступные форматы изображения и их описания. |
|
Получает максимальное количество записей в таблице цвета. |
|
Получает шаг шрифта текущего изображения в байтах. |
|
Получает цвет пикселя заданного x и Y. |
|
Получает адрес заданного в пикселях. |
|
Получает положение прозрачного цветов в таблице цвета. |
|
Получает ширину текущего изображения в пикселях. |
|
Определяет, является ли вложенное растровое изображение раздел DIB. |
|
Указывает, что цвета растрового изображения в индексированной сопоставлены палитры. |
|
Указывает, является ли растровое изображение источника в данный момент загружен. |
|
Указывает, поддерживает ли приложение прозрачные растровые изображения и компилировать для Windows 2000 или более поздней версии. |
|
Загружает образ из указанного файла. |
|
Загружает образ из заданного ресурса. |
|
Объединяет данные о цвете для растровых изображений источника и назначения, используя указанную операцию и маски растровый. |
|
Выполняет передачу бит- блока из прямоугольника в контексте устройства источника в параллелограмм в контексте устройства назначения. |
|
Освобождает контекст устройства, который был получить с CImage::GetDC. |
|
Освобождает ресурсы, используемые GDI+. Быть вызываются для освобождения ресурсов, созданные глобальным объектом CImage. |
|
Сохраняет изображение как значение указанного типа. Сохранить не может определить параметры образа. |
|
Устанавливает красного, зеленого и синего цвета RGB) в диапазоне записей в таблице цветов раздела DIB. |
|
Устанавливает точку на указанные координаты в указанный цвет. |
|
Устанавливает точку на указанные координаты к цвету палитры по указанному индексу. |
|
Устанавливает точку на указанные координаты к определенному красный, зеленого, голубому значение (RGB). |
|
Устанавливает индекс цвета, который должен рассматриваться как прозрачный. Только один цвет в палитре может быть прозрачным. |
|
Копирует растровое изображение из прямоугольника источника в прямоугольник назначения, растянуть или сжать растровое изображение для приспособления измерений прямоугольника назначения, если требуемый. |
|
Копирует растровое изображение с прозрачный цвет из контекста устройства источника к этому текущий контекст устройства. |
Открытые операторы
Имя |
Описание |
---|---|
Возвращает вложенный маркер Windows на объект CImage. |
Заметки
CImage принимает растровые изображения или разделы файла DIB (DIB) или нет. однако можно использовать Создание или CImage::Load только с разделами DIB. Можно вложить растровое изображение раздела non-DIB к объекту CImage с помощью Вложение, но с другой стороны, нельзя использовать следующие методы CImage, которые поддерживают только растровые изображения DIB раздела:
Для определения, является ли вложенное растровое изображение раздел, DIB, вызовите IsDibSection.
Примечание
Примечание В Visual Studio .NET 2003, этот класс содержит количество объектов CImage созданный., Если счетчик становится равным 0, функция GdiplusShutdown автоматически называется для освобождения ресурсов, используемых GDI+.Это гарантирует, что все объекты, созданные CImage прямо или косвенно библиотеки DLL всегда уничтожены указано правильно и что GdiplusShutdown не вызываются из DllMain.
Примечание
С помощью глобальной CImage не рекомендуется использовать объекты из библиотеки DLL.Если необходимо использовать глобальный объект CImage в dll-библиотеке, вызовите CImage::ReleaseGDIPlus, чтобы явно освобождение ресурсов, используемых GDI+.
CImage не могут быть выбраны в новое CDC. CImage создать собственное HDC для образа. Поскольку HBITMAP можно выбрать только один раз в HDCHBITMAP, связанное с CImage не могут быть выбраны в другое HDC. Если необходимо CDC, то восстановление HDC из CImage и присвойте ему значение CDC::FromHandle.
Пример
// 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();
При использовании CImage в проекте MFC, обратите внимание, функции-члены в проекте ожидающие указатель на объект CBitmap. Если нужно использовать CImage с такой функции, как CMenu::AppendMenu, используйте CBitmap::FromHandle, передав ему в CImageHBITMAP и использовать возвращаемое 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);
}
С помощью CImage, имеется доступ к реальным битам раздела DIB. Можно использовать объект CImage везде, где ранее использовать раздел Win32 HBITMAP или DIB.
Примечание
Следующие методы CImage имеют ограничения на их использование.
Метод |
Ограничение |
---|---|
Рабочие только с Windows NT 4.0 или более поздней версии. В приложениях не работать под управлением Windows 95, /98 или более поздней версии. |
|
Рабочие только с Windows NT 4.0 или более поздней версии. В приложениях не работать под управлением Windows 95, /98 или более поздней версии. |
|
Рабочие только с Windows 2000, Windows 98 и более последним системами. |
|
Рабочие только с Windows 2000, Windows 98 и более последним системами. |
|
Поддерживает прозрачность только с Windows 2000, Windows 98 и более последним системами. |
См. раздел Ограничения CImage с более ранними операционными системами дополнительные сведения об ограничениях на этих методах.
Можно использовать CImage из MFC и библиотеки ATL.
Примечание
При создании проекта с помощью CImage необходимо указать CString прежде чем включать atlimage.h.Если в проекте используется библиотека ATL без MFC, включите atlstr.h прежде чем включать atlimage.h.Если в проекте используется MFC (или если проект библиотеки ATL с поддержкой MFC), включайте afxstr.h прежде чем включать atlimage.h.
Кроме того, необходимо включить atlimage.h прежде чем включать atlimpl.cpp.Для выполнения этого легко включить atlimage.h в stdafx.h.
Требования
Header: atlimage.h