Класс CImageCImage Class

CImage обеспечивает улучшенную поддержку точечных рисунков, включая возможность загрузки и сохранения изображений в форматах JPEG, GIF, BMP и PNG.CImage provides enhanced bitmap support, including the ability to load and save images in JPEG, GIF, BMP, and Portable Network Graphics (PNG) formats.

Важно!

Этот класс и его члены не могут использоваться в приложениях, выполняемых в среда выполнения Windows.This class and its members cannot be used in applications that execute in the Windows Runtime.

СинтаксисSyntax

class CImage

ЧленыMembers

Открытые конструкторыPublic Constructors

nameName ОписаниеDescription
CImage:: CImageCImage::CImage Конструктор.The constructor.

Открытые методыPublic Methods

nameName ОписаниеDescription
CImage:: АлфаблендCImage::AlphaBlend Отображает растровые изображения, имеющие прозрачные или полупрозрачные пиксели.Displays bitmaps that have transparent or semitransparent pixels.
CImage:: AttachCImage::Attach Присоединяет ХБИТМАП к CImage объекту.Attaches an HBITMAP to a CImage object. Может использоваться с точечными рисунками разделов, не являющимися DIB, или с точечными рисунками в формате DIB.Can be used with either non-DIB section bitmaps or DIB section bitmaps.
CImage::BitBltCImage::BitBlt Копирует точечный рисунок из контекста исходного устройства в этот текущий контекст устройства.Copies a bitmap from the source device context to this current device context.
CImage:: CreateCImage::Create Создает растровое изображение раздела DIB и прикрепляет его к ранее созданному CImage объекту.Creates a DIB section bitmap and attaches it to the previously constructed CImage object.
CImage:: КреатиксCImage::CreateEx Создает растровое изображение раздела DIB (с дополнительными параметрами) и прикрепляет его к ранее созданному CImage объекту.Creates a DIB section bitmap (with additional parameters) and attaches it to the previously constructed CImage object.
CImage::D естройCImage::Destroy Отсоединяет точечный рисунок от CImage объекта и уничтожает точечный рисунок.Detaches the bitmap from the CImage object and destroys the bitmap.
CImage::D етачCImage::Detach Отсоединяет точечный рисунок от CImage объекта.Detaches the bitmap from a CImage object.
CImage::D RAWCImage::Draw Копирует растровое изображение из исходного прямоугольника в прямоугольник назначения.Copies a bitmap from a source rectangle into a destination rectangle. Draw растягивает или сжимает растровое изображение в соответствии с размерами прямоугольника назначения, при необходимости и обрабатывает альфа-смешение и прозрачные цвета.Draw stretches or compresses the bitmap to fit the dimensions of the destination rectangle, if necessary, and handles alpha blending and transparent colors.
CImage::GetBitsCImage::GetBits Получает указатель на фактические значения пикселей точечного рисунка.Retrieves a pointer to the actual pixel values of the bitmap.
CImage::GetBPPCImage::GetBPP Извлекает биты на пиксель.Retrieves the bits per pixel.
CImage::GetColorTableCImage::GetColorTable Получает значения цвета красного, зеленого и синего цветов (RGB) из диапазона записей в таблице цветов.Retrieves red, green, blue (RGB) color values from a range of entries in the color table.
CImage::GetDCCImage::GetDC Возвращает контекст устройства, в который выбрано текущее растровое изображение.Retrieves the device context into which the current bitmap is selected.
CImage::GetExporterFilterStringCImage::GetExporterFilterString Находит доступные форматы изображений и их описания.Finds the available image formats and their descriptions.
CImage:: HeightCImage::GetHeight Получает высоту текущего изображения в пикселях.Retrieves the height of the current image in pixels.
CImage:: ЖетимпортерфилтерстрингCImage::GetImporterFilterString Находит доступные форматы изображений и их описания.Finds the available image formats and their descriptions.
CImage::GetMaxColorTableEntriesCImage::GetMaxColorTableEntries Возвращает максимальное число записей в таблице цветов.Retrieves the maximum number of entries in the color table.
CImage:: шагCImage::GetPitch Получает шаг текущего изображения в байтах.Retrieves the pitch of the current image, in bytes.
CImage::CImage::GetPixel Извлекает цвет пикселя, заданный x и y.Retrieves the color of the pixel specified by x and y.
CImage::GetPixelAddressCImage::GetPixelAddress Извлекает адрес заданного пикселя.Retrieves the address of a given pixel.
CImage::GetTransparentColorCImage::GetTransparentColor Получает расположение прозрачного цвета в таблице цветов.Retrieves the position of the transparent color in the color table.
CImage::GetWidthCImage::GetWidth Получает ширину текущего изображения в пикселях.Retrieves the width of the current image in pixels.
CImage:: ИсдибсектионCImage::IsDIBSection Определяет, является ли присоединенный точечный рисунок разделом DIB.Determines if the attached bitmap is a DIB section.
CImage:: проиндексированCImage::IsIndexed Указывает, что цвета растрового изображения сопоставлены с индексированной палитрой.Indicates that a bitmap's colors are mapped to an indexed palette.
CImage::IsNullCImage::IsNull Указывает, загружен ли в данный момент исходный точечный рисунок.Indicates if a source bitmap is currently loaded.
CImage:: ИстранспаренцисуппортедCImage::IsTransparencySupported Указывает, поддерживает ли приложение прозрачные точечные рисунки.Indicates whether the application supports transparent bitmaps.
CImage::LoadCImage::Load Загружает изображение из указанного файла.Loads an image from the specified file.
CImage::LoadFromResourceCImage::LoadFromResource Загружает изображение из указанного ресурса.Loads an image from the specified resource.
CImage:: МаскблтCImage::MaskBlt Объединяет цветовые данные исходного и целевого точечных рисунков с помощью заданной операции маски и растрового изображения.Combines the color data for the source and destination bitmaps using the specified mask and raster operation.
CImage::PlgBltCImage::PlgBlt Выполняет перенос битового блока из прямоугольника в исходном контексте устройства в параллелограмм в контексте целевого устройства.Performs a bit-block transfer from a rectangle in a source device context into a parallelogram in a destination device context.
CImage:: РелеаседкCImage::ReleaseDC Освобождает контекст устройства, полученный с помощью CImage:: GetDC.Releases the device context that was retrieved with CImage::GetDC.
CImage::ReleaseGDIPlusCImage::ReleaseGDIPlus Высвобождает ресурсы, используемые GDI+.Releases resources used by GDI+. Должен вызываться для освобождения ресурсов, созданных глобальным CImage объектом.Must be called to free resources created by a global CImage object.
CImage::SaveCImage::Save Сохраняет изображение в указанном типе.Saves an image as the specified type. Save невозможно задать параметры изображения.Save cannot specify image options.
CImage::SetColorTableCImage::SetColorTable Задает цветовые значения красного, зеленого и синего RGB в диапазоне записей в таблице цветов раздела DIB.Sets red, green, blue RGB) color values in a range of entries in the color table of the DIB section.
CImage::SetPixelCImage::SetPixel Задает пиксель с указанными координатами в заданном цвете.Sets the pixel at the specified coordinates to the specified color.
CImage::SetPixelIndexedCImage::SetPixelIndexed Задает пиксель с заданными координатами в качестве цвета по указанному индексу палитры.Sets the pixel at the specified coordinates to the color at the specified index of the palette.
CImage:: СетпикселргбCImage::SetPixelRGB Устанавливает пиксел с заданными координатами в указанное значение красного, зеленого, синего (RGB).Sets the pixel at the specified coordinates to the specified red, green, blue (RGB) value.
CImage::SetTransparentColorCImage::SetTransparentColor Задает индекс цвета, который будет считаться прозрачным.Sets the index of the color to be treated as transparent. Только один цвет в палитре может быть прозрачным.Only one color in a palette can be transparent.
CImage:: СтретчблтCImage::StretchBlt Копирует растровое изображение из исходного прямоугольника в прямоугольник назначения, растягивание или сжатие растрового изображения в соответствии с размерами прямоугольника назначения, если это необходимо.Copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary.
CImage:: ТранспарентблтCImage::TransparentBlt Копирует растровое изображение с прозрачным цветом из контекста исходного устройства в этот текущий контекст устройства.Copies a bitmap with transparent color from the source device context to this current device context.

Открытые операторыPublic Operators

ИмяName ОписаниеDescription
CImage:: operator ХБИТМАПCImage::operator HBITMAP Возвращает маркер Windows, присоединенный к CImage объекту.Returns the Windows handle attached to the CImage object.

КомментарииRemarks

CImage принимает точечные рисунки, которые являются либо независимыми от устройства (DIB) разделами, либо нет. Однако можно использовать CREATE или CImage:: Load только с разделами DIB.CImage takes bitmaps that are either device-independent bitmap (DIB) sections or not; however, you can use Create or CImage::Load with only DIB sections. К объекту можно прикрепить битовую карту, отличную от DIB CImage , но нельзя использовать следующие CImage методы, поддерживающие только растровые изображения раздела DIB:You can attach a non-DIB section bitmap to a CImage object using Attach, but then you cannot use the following CImage methods, which support only DIB section bitmaps:

Чтобы определить, является ли присоединенный точечный рисунок разделом DIB, вызовите исдибсектион.To determine if an attached bitmap is a DIB section, call IsDibSection.

Примечание

В Visual Studio .NET 2003 этот класс хранит количество CImage созданных объектов.In Visual Studio .NET 2003, this class keeps a count of the number of CImage objects created. Всякий раз, когда счетчик переходит к 0, функция GdiplusShutdown автоматически вызывается для освобождения ресурсов, используемых GDI+.Whenever the count goes to 0, the function GdiplusShutdown is automatically called to release resources used by GDI+. Это гарантирует, что все CImage объекты, созданные непосредственно или опосредованно библиотеками DLL, всегда уничтожаются должным образом и GdiplusShutdown не вызываются из DllMain .This ensures that any CImage objects created directly or indirectly by DLLs are always destroyed properly and that GdiplusShutdown is not called from DllMain.

Примечание

Использование глобальных CImage объектов в библиотеке DLL не рекомендуется.Using global CImage objects in a DLL is not recommended. Если необходимо использовать глобальный CImage объект в библиотеке DLL, вызовите метод CImage:: релеасегдиплус , чтобы явно освободить ресурсы, используемые GDI+.If you need to use a global CImage object in a DLL, call CImage::ReleaseGDIPlus to explicitly release resources used by GDI+.

CImage нельзя выбрать в новый CDC.CImage cannot be selected into a new CDC. CImage создает собственный контекст HDC для образа.CImage creates its own HDC for the image. Так как ХБИТМАП можно выбрать только в один параметр HDC, ХБИТМАП, связанный с параметром, CImage нельзя выбрать в другом HDC.Because an HBITMAP can only be selected into one HDC at a time, the HBITMAP associated with the CImage cannot be selected into another HDC. Если требуется CDC, извлеките значение HDC из CImage и присвойте ему значение CDC:: FromHandle.If you need a CDC, retrieve the HDC from the CImage and give it to CDC::FromHandle.

ПримерыExamples

// 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 .When you use CImage in an MFC project, note which member functions in your project expect a pointer to a CBitmap object. Если вы хотите использовать CImage с такой функцией, как кмену:: аппендмену, используйте CBitmap:: FromHandle, передайте ей CImage хбитмап и используйте возвращенное значение CBitmap* .If you want to use CImage with such a function, like CMenu::AppendMenu, use CBitmap::FromHandle, pass it your CImage HBITMAP, and use the returned 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.Through CImage, you have access to the actual bits of a DIB section. Вы можете использовать CImage объект в любом месте, где ранее использовался раздел Win32 хбитмап или DIB.You can use a CImage object anywhere you previously used a Win32 HBITMAP or DIB section.

Можно использовать CImage из MFC или ATL.You can use CImage from either MFC or ATL.

Примечание

При создании проекта с помощью необходимо CImage определить CString перед включением атлимаже. h.When you create a project using CImage, you must define CString before you include atlimage.h. Если в проекте используется ATL без MFC, включите atlstr. h , прежде чем включать атлимаже. h.If your project uses ATL without MFC, include atlstr.h before you include atlimage.h. Если в проекте используется MFC (или проект ATL с поддержкой MFC), включите афксстр. h перед включением атлимаже. h.If your project uses MFC (or if it is an ATL project with MFC support), include afxstr.h before you include atlimage.h.

Аналогично, перед включением атлимпл. cpp необходимо включить атлимаже. h .Likewise, you must include atlimage.h before you include atlimpl.cpp. Чтобы легко сделать это, включите атлимаже. h в PCH. h (stdafx. h в Visual Studio 2017 и более ранних версиях).To accomplish this easily, include atlimage.h in your pch.h (stdafx.h in Visual Studio 2017 and earlier).

ТребованияRequirements

Заголовок: атлимаже. hHeader: atlimage.h

CImage:: АлфаблендCImage::AlphaBlend

Отображает растровые изображения, имеющие прозрачные или полупрозрачные пиксели.Displays bitmaps that have transparent or semitransparent pixels.

BOOL AlphaBlend(
    HDC hDestDC,
    int xDest,
    int yDest,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER) const throw();

BOOL AlphaBlend(
    HDC hDestDC,
    const POINT& pointDest,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER) const throw();

BOOL AlphaBlend(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER);

BOOL AlphaBlend(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER);

ПараметрыParameters

хдестдкhDestDC
Обрабатывайте контекст целевого устройства.Handle to the destination device context.

ксдестxDest
Координата x в логических единицах верхнего левого угла прямоугольника назначения.The x-coordinate, in logical units, of the upper left corner of the destination rectangle.

идестyDest
Координата y (в логических единицах) верхнего левого угла прямоугольника назначения.The y-coordinate, in logical units, of the upper left corner of the destination rectangle.

бсркалфаbSrcAlpha
Значение альфа-прозрачности, используемое во всем исходном растровом изображении.An alpha transparency value to be used on the entire source bitmap. По умолчанию 0xff (255) предполагает, что изображение является непрозрачным и вы хотите использовать только альфа-значения для каждого пикселя.The default 0xff (255) assumes that your image is opaque, and that you want to use per-pixel alpha values only.

бблендопbBlendOp
Альфа-смешение для исходного и конечного точечных рисунков, глобальное значение Alpha, применяемое ко всему исходному точечному рисунку, и сведения о форматировании исходного растрового изображения.The alpha-blending function for source and destination bitmaps, a global alpha value to be applied to the entire source bitmap, and format information for the source bitmap. Исходная и Целевая функции Blend в настоящее время ограничены AC_SRC_OVER.The source and destination blend functions are currently limited to AC_SRC_OVER.

поинтдестpointDest
Ссылка на структуру точек , определяющую левый верхний угол прямоугольника назначения в логических единицах.A reference to a POINT structure that identifies the upper left corner of the destination rectangle, in logical units.

ндествидсnDestWidth
Ширина (в логических единицах) прямоугольника назначения.The width, in logical units, of the destination rectangle.

ндессеигхтnDestHeight
Высота прямоугольника назначения в логических единицах.The height, in logical units, of the destination rectangle.

кссркxSrc
Логическая Координата по оси x верхнего левого угла исходного прямоугольника.The logical x-coordinate of the upper left corner of the source rectangle.

исркySrc
Логическая Координата по оси y верхнего левого угла исходного прямоугольника.The logical y-coordinate of the upper left corner of the source rectangle.

нсрквидсnSrcWidth
Ширина (в логических единицах) исходного прямоугольника.The width, in logical units, of the source rectangle.

нсрчеигхтnSrcHeight
Высота исходного прямоугольника в логических единицах.The height, in logical units, of the source rectangle.

ректдестrectDest
Ссылка на структуру Rect , определяющую назначение.A reference to a RECT structure, identifying the destination.

ректсркrectSrc
Ссылка на RECT структуру, определяющую источник.A reference to a RECT structure, identifying the source.

Возвращаемое значениеReturn Value

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.Nonzero if successful; otherwise 0.

КомментарииRemarks

Точечные рисунки альфа-смешения поддерживают смешение цветов для отдельных пикселов.Alpha-blend bitmaps support color blending on a per-pixel basis.

Если для бблендоп задано значение по умолчанию AC_SRC_OVER, то исходное растровое изображение помещается поверх целевого растрового изображения на основе альфа-значений исходных пикселей.When bBlendOp is set to the default of AC_SRC_OVER, the source bitmap is placed over the destination bitmap based on the alpha values of the source pixels.

CImage:: AttachCImage::Attach

Присоединяет хбитмап к CImage объекту.Attaches hBitmap to a CImage object.

void Attach(HBITMAP hBitmap, DIBOrientation eOrientation = DIBOR_DEFAULT) throw();

ПараметрыParameters

хбитмапhBitmap
Маркер ХБИТМАП.A handle to an HBITMAP.

еориентатионeOrientation
Задает ориентацию точечного рисунка.Specifies the orientation of the bitmap. Может применяться один из перечисленных ниже типов.Can be one of the following:

  • DIBOR_DEFAULT Ориентация точечного рисунка определяется операционной системой.DIBOR_DEFAULT The orientation of the bitmap is determined by the operating system.

  • DIBOR_BOTTOMUP строки точечного рисунка находятся в обратном порядке.DIBOR_BOTTOMUP The lines of the bitmap are in reverse order. Это приводит к тому, что CImage::-разряд возвращает указатель около конца буфера Bitmap и CImage:: noreturn для возврата отрицательного числа.This causes CImage::GetBits to return a pointer near the end of the bitmap buffer and CImage::GetPitch to return a negative number.

  • DIBOR_TOPDOWN линии точечного рисунка находятся сверху вниз.DIBOR_TOPDOWN The lines of the bitmap are in top to bottom order. В результате CImage::-бит возвращает указатель на первый байт буфера Bitmap и CImage:: noreturn для возврата положительного числа.This causes CImage::GetBits to return a pointer to the first byte of the bitmap buffer and CImage::GetPitch to return a positive number.

КомментарииRemarks

Точечный рисунок может быть либо точечным рисунком раздела, не соdib, либо точечным рисунком раздела DIB.The bitmap can be either a non-DIB section bitmap or a DIB section bitmap. Список методов, которые можно использовать только с точечными рисунками в разделе DIB, см. в разделе исдибсектион .See IsDIBSection for a list of methods that you can use only with DIB section bitmaps.

CImage:: BitBltCImage::BitBlt

Копирует точечный рисунок из контекста исходного устройства в этот текущий контекст устройства.Copies a bitmap from the source device context to this current device context.

BOOL BitBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    const POINT& pointDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const POINT& pointSrc,
    DWORD dwROP = SRCCOPY) const throw();

ПараметрыParameters

хдестдкhDestDC
Целевой параметр HDC.The destination HDC.

ксдестxDest
Логическая Координата по оси x верхнего левого угла прямоугольника назначения.The logical x-coordinate of the upper left corner of the destination rectangle.

идестyDest
Логическая Координата по оси y верхнего левого угла прямоугольника назначения.The logical y-coordinate of the upper left corner of the destination rectangle.

двропdwROP
Выполняемая растровая операция.The raster operation to be performed. Коды операций с растровым набором определяют способ объединения битов источника, назначения и шаблона (как определено текущей выбранной кистью) для формирования назначения.Raster-operation codes define exactly how to combine the bits of the source, the destination, and the pattern (as defined by the currently selected brush) to form the destination. Список других кодов точечных операций и их описание см. в разделе BitBlt в Windows SDK.See BitBlt in the Windows SDK for a list of other raster-operation codes and their descriptions.

поинтдестpointDest
Структура точек , указывающая верхний левый угол прямоугольника назначения.A POINT structure indicating the upper left corner of the destination rectangle.

ндествидсnDestWidth
Ширина (в логических единицах) прямоугольника назначения.The width, in logical units, of the destination rectangle.

ндессеигхтnDestHeight
Высота прямоугольника назначения в логических единицах.The height, in logical units, of the destination rectangle.

кссркxSrc
Логическая Координата по оси x верхнего левого угла исходного прямоугольника.The logical x-coordinate of the upper left corner of the source rectangle.

исркySrc
Логическая Координата по оси y верхнего левого угла исходного прямоугольника.The logical y-coordinate of the upper left corner of the source rectangle.

ректдестrectDest
Структура Rect , указывающая конечный прямоугольник.A RECT structure indicating the destination rectangle.

поинтсркpointSrc
POINTСтруктура, указывающая верхний левый угол исходного прямоугольника.A POINT structure indicating the upper left corner of the source rectangle.

Возвращаемое значениеReturn Value

Ненулевое значение в случае успеха, иначе — 0.Nonzero if successful; otherwise zero.

КомментарииRemarks

Дополнительные сведения см. в разделе BitBlt в Windows SDK.For more information, see BitBlt in the Windows SDK.

CImage:: CImageCImage::CImage

Формирует объект CImage.Constructs a CImage object.

CImage() throw();

КомментарииRemarks

После создания объекта вызовите CREATE, Load, лоадфромресаурцеили attach , чтобы присоединить точечный рисунок к объекту.Once you have constructed the object, call Create, Load, LoadFromResource, or Attach to attach a bitmap to the object.

Примечание . В Visual Studio этот класс хранит количество CImage созданных объектов.Note In Visual Studio, this class keeps a count of the number of CImage objects created. Всякий раз, когда счетчик переходит к 0, функция GdiplusShutdown автоматически вызывается для освобождения ресурсов, используемых GDI+.Whenever the count goes to 0, the function GdiplusShutdown is automatically called to release resources used by GDI+. Это гарантирует, что все CImage объекты, созданные непосредственно или опосредованно библиотеками DLL, всегда уничтожаются должным образом и GdiplusShutdown не вызываются из DllMain.This ensures that any CImage objects created directly or indirectly by DLLs are always destroyed properly and that GdiplusShutdown is not called from DllMain.

Использование глобальных CImage объектов в библиотеке DLL не рекомендуется.Using global CImage objects in a DLL is not recommended. Если необходимо использовать глобальный CImage объект в библиотеке DLL, вызовите метод CImage:: релеасегдиплус , чтобы явно освободить ресурсы, используемые GDI+.If you need to use a global CImage object in a DLL, call CImage::ReleaseGDIPlus to explicitly release resources used by GDI+.

CImage:: CreateCImage::Create

Создает CImage точечный рисунок и присоединяет его к ранее созданному CImage объекту.Creates a CImage bitmap and attach it to the previously constructed CImage object.

BOOL Create(
    int nWidth,
    int nHeight,
    int nBPP,
    DWORD dwFlags = 0) throw();

ПараметрыParameters

нвидсnWidth
Ширина CImage точечного рисунка в пикселях.The width of the CImage bitmap, in pixels.

нхеигхтnHeight
Высота CImage точечного рисунка в пикселях.The height of the CImage bitmap, in pixels. Если нхеигхт является положительным, то точечный рисунок имеет значение DIB, а его источник — в левом нижнем углу.If nHeight is positive, the bitmap is a bottom-up DIB and its origin is the lower left corner. Если нхеигхт является отрицательным, точечный рисунок является верхним (DIB) и его источником является верхний левый угол.If nHeight is negative, the bitmap is a top-down DIB and its origin is the upper left corner.

нбппnBPP
Число битов на пиксель точечного рисунка.The numbers of bits per pixel in the bitmap. Обычно 4, 8, 16, 24 или 32.Usually 4, 8, 16, 24, or 32. Может быть 1 для монохромных точечных рисунков или масок.Can be 1 for monochrome bitmaps or masks.

dwFlagsdwFlags
Указывает, имеет ли растровый объект альфа-канал.Specifies if the bitmap object has an alpha channel. Может быть сочетанием нуля или более следующих значений:Can be a combination of zero or more of the following values:

  • креатеалфачаннел Может использоваться, только если нбпп имеет значение 32, а екомпрессион — BI_RGB.createAlphaChannel Can only be used if nBPP is 32, and eCompression is BI_RGB. Если этот параметр задан, созданный образ имеет альфа-значение (прозрачное) для каждого пикселя, которое хранится в 4-байтовом изображении каждого пикселя (не используется в неalpha 32 бит).If specified, the created image has an alpha (transparency) value for each pixel, stored in the 4th byte of each pixel (unused in a non-alpha 32-bit image). Этот альфа-канал автоматически используется при вызове CImage:: алфабленд.This alpha channel is automatically used when calling CImage::AlphaBlend.

Примечание

В вызовах CImage::D RAWизображения с альфа-каналом автоматически смешиваются с назначением.In calls to CImage::Draw, images with an alpha channel are automatically alpha blended to the destination.

Возвращаемое значениеReturn Value

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.Nonzero if successful; otherwise 0.

CImage:: КреатиксCImage::CreateEx

Создает CImage точечный рисунок и присоединяет его к ранее созданному CImage объекту.Creates a CImage bitmap and attach it to the previously constructed CImage object.

BOOL CreateEx(
    int nWidth,
    int nHeight,
    int nBPP,
    DWORD eCompression,
    const DWORD* pdwBitmasks = NULL,
    DWORD dwFlags = 0) throw();

ПараметрыParameters

нвидсnWidth
Ширина CImage точечного рисунка в пикселях.The width of the CImage bitmap, in pixels.

нхеигхтnHeight
Высота CImage точечного рисунка в пикселях.The height of the CImage bitmap, in pixels. Если нхеигхт является положительным, то точечный рисунок имеет значение DIB, а его источник — в левом нижнем углу.If nHeight is positive, the bitmap is a bottom-up DIB and its origin is the lower left corner. Если нхеигхт является отрицательным, точечный рисунок является верхним (DIB) и его источником является верхний левый угол.If nHeight is negative, the bitmap is a top-down DIB and its origin is the upper left corner.

нбппnBPP
Число битов на пиксель точечного рисунка.The numbers of bits per pixel in the bitmap. Обычно 4, 8, 16, 24 или 32.Usually 4, 8, 16, 24, or 32. Может быть 1 для монохромных точечных рисунков или масок.Can be 1 for monochrome bitmaps or masks.

екомпрессионeCompression
Указывает тип сжатия для сжатого нижнего точечного рисунка (файлы DIB, расположенные сверху вниз, не могут быть сжаты).Specifies the type of compression for a compressed bottom-up bitmap (top-down DIBs cannot be compressed). Может иметь одно из следующих значений:Can be one of the following values:

  • BI_RGB Формат не сжат.BI_RGB The format is uncompressed. Указание этого значения при вызове CImage::CreateEx эквивалентно вызову CImage::Create .Specifying this value when calling CImage::CreateEx is equivalent to calling CImage::Create.

  • BI_BITFIELDS формат не сжат, а таблица цветов состоит из трех цветовых масок DWORD, которые задают красный, зеленый и синий компоненты соответственно для каждого пикселя.BI_BITFIELDS The format is uncompressed and the color table consists of three DWORD color masks that specify the red, green, and blue components, respectively, of each pixel. Это допустимо при использовании точечных рисунков размером 16 и 32 бит/с.This is valid when used with 16- and 32-bpp bitmaps.

пдвбитфиелдсpdwBitfields
Используется только в том случае, если екомпрессион имеет значение BI_BITFIELDS, в противном случае оно должно быть равно null.Only used if eCompression is set to BI_BITFIELDS, otherwise it must be NULL. Указатель на массив из трех битовых масок DWORD, указывающий, какие биты каждого пикселя используются для красного, зеленого и синего компонентов цвета соответственно.A pointer to an array of three DWORD bitmasks, specifying which bits of each pixel are used for the red, green, and blue components of the color, respectively. Сведения об ограничениях для битовых полей см. в разделе битмапинфохеадер в Windows SDK.For information on restrictions for the bitfields, see BITMAPINFOHEADER in the Windows SDK.

dwFlagsdwFlags
Указывает, имеет ли растровый объект альфа-канал.Specifies if the bitmap object has an alpha channel. Может быть сочетанием нуля или более следующих значений:Can be a combination of zero or more of the following values:

  • креатеалфачаннел Может использоваться, только если нбпп имеет значение 32, а екомпрессион — BI_RGB.createAlphaChannel Can only be used if nBPP is 32, and eCompression is BI_RGB. Если этот параметр задан, созданный образ имеет альфа-значение (прозрачное) для каждого пикселя, которое хранится в 4-байтовом изображении каждого пикселя (не используется в неalpha 32 бит).If specified, the created image has an alpha (transparency) value for each pixel, stored in the 4th byte of each pixel (unused in a non-alpha 32-bit image). Этот альфа-канал автоматически используется при вызове CImage:: алфабленд.This alpha channel is automatically used when calling CImage::AlphaBlend.

    Примечание

    В вызовах CImage::D RAWизображения с альфа-каналом автоматически смешиваются с назначением.In calls to CImage::Draw, images with an alpha channel are automatically alpha blended to the destination.

Возвращаемое значениеReturn Value

Значение TRUE, если выполнено успешно.TRUE if successful. В противном случае — FALSE.Otherwise FALSE.

ПримерExample

В следующем примере создается точечный рисунок 100x100 пикселей с использованием 16 бит для кодирования каждого пикселя.The following example creates a 100x100 pixel bitmap, using 16 bits to encode each pixel. В заданном 16-разрядном пикселе биты 0-3 кодируются красным компонентом, биты 4-7 кодируются зеленым цветом, а биты 8-11 — синим.In a given 16-bit pixel, bits 0-3 encode the red component, bits 4-7 encode green, and bits 8-11 encode blue. Остальные 4 бита не используются.The remaining 4 bits are unused.

DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);

CImage::D естройCImage::Destroy

Отсоединяет точечный рисунок от CImage объекта и уничтожает точечный рисунок.Detaches the bitmap from the CImage object and destroys the bitmap.

void Destroy() throw();

CImage::D етачCImage::Detach

Отсоединяет точечный рисунок от CImage объекта.Detaches a bitmap from a CImage object.

HBITMAP Detach() throw();

Возвращаемое значениеReturn Value

Маркер отсоединенного точечного рисунка или значение NULL, если растровое изображение не присоединено.A handle to the bitmap detached, or NULL if no bitmap is attached.

CImage::D RAWCImage::Draw

Копирует точечный рисунок из контекста исходного устройства в текущий контекст устройства.Copies a bitmap from the source device context to the current device context.

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight) const throw();

BOOL Draw(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc) const throw();

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest) const throw();

BOOL Draw(
    HDC hDestDC,
    const POINT& pointDest) const throw();

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight) const throw();

BOOL Draw(
    HDC hDestDC,
    const RECT& rectDest) const throw();

ПараметрыParameters

хдестдкhDestDC
Маркер контекста целевого устройства.A handle to the destination device context.

ксдестxDest
Координата x в логических единицах верхнего левого угла прямоугольника назначения.The x-coordinate, in logical units, of the upper left corner of the destination rectangle.

идестyDest
Координата y (в логических единицах) верхнего левого угла прямоугольника назначения.The y-coordinate, in logical units, of the upper left corner of the destination rectangle.

ндествидсnDestWidth
Ширина (в логических единицах) прямоугольника назначения.The width, in logical units, of the destination rectangle.

ндессеигхтnDestHeight
Высота прямоугольника назначения в логических единицах.The height, in logical units, of the destination rectangle.

кссркxSrc
Координата x в логических единицах верхнего левого угла исходного прямоугольника.The x-coordinate, in logical units, of the upper left corner of the source rectangle.

исркySrc
Координата по оси y (в логических единицах) верхнего левого угла исходного прямоугольника.The y-coordinate, in logical units, of the upper left corner of the source rectangle.

нсрквидсnSrcWidth
Ширина (в логических единицах) исходного прямоугольника.The width, in logical units, of the source rectangle.

нсрчеигхтnSrcHeight
Высота исходного прямоугольника в логических единицах.The height, in logical units, of the source rectangle.

ректдестrectDest
Ссылка на структуру Rect , определяющую назначение.A reference to a RECT structure, identifying the destination.

ректсркrectSrc
Ссылка на RECT структуру, определяющую источник.A reference to a RECT structure, identifying the source.

поинтдестpointDest
Ссылка на структуру точек , определяющую левый верхний угол прямоугольника назначения в логических единицах.A reference to a POINT structure that identifies the upper left corner of the destination rectangle, in logical units.

Возвращаемое значениеReturn Value

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.Nonzero if successful; otherwise 0.

КомментарииRemarks

Draw выполняет ту же операцию, что и стретчблт, если только изображение не содержит прозрачный цвет или альфа-канал.Draw performs the same operation as StretchBlt, unless the image contains a transparent color or alpha channel. В этом случае Draw выполняет ту же операцию, что и Транспарентблт или алфабленд , как требуется.In that case, Draw performs the same operation as either TransparentBlt or AlphaBlend as required.

Для версий Draw , не указывающих исходный прямоугольник, по умолчанию используется все исходное изображение.For versions of Draw that do not specify a source rectangle, the entire source image is the default. Для версии Draw , которая не задает размер конечного прямоугольника, размер исходного изображения является значением по умолчанию, а растяжение или сжатие не происходит.For the version of Draw that does not specify a size for the destination rectangle, the size of the source image is the default and no stretching or shrinking occurs.

CImage::.CImage::GetBits

Получает указатель на фактические битовые значения заданного пикселя в точечном рисунке.Retrieves a pointer to the actual bit values of a given pixel in a bitmap.

void* GetBits() throw();

Возвращаемое значениеReturn Value

Указатель на буфер точечного рисунка.A pointer to the bitmap buffer. Если точечный рисунок имеет значение DIB, указатель находится рядом с концом буфера.If the bitmap is a bottom-up DIB, the pointer points near the end of the buffer. Если точечный рисунок является верхним (DIB), указатель указывает на первый байт буфера.If the bitmap is a top-down DIB, the pointer points to the first byte of the buffer.

КомментарииRemarks

Используя этот указатель вместе со значением, возвращаемым методом « шаг», можно размещать и изменять отдельные пикселы в изображении.Using this pointer, along with the value returned by GetPitch, you can locate and change individual pixels in an image.

Примечание

Этот метод поддерживает только точечные рисунки раздела DIB; Следовательно, вы обращаетесь к пикселам CImage объекта так же, как и к пикселям раздела DIB.This method supports only DIB section bitmaps; consequently, you access the pixels of a CImage object the same way you would the pixels of a DIB section. Возвращаемый указатель указывает на пиксель в положении (0, 0).The returned pointer points to the pixel at the location (0, 0).

CImage:: ЖетбппCImage::GetBPP

Извлекает значение бит на пиксель.Retrieves the bits-per-pixel value.

int GetBPP() const throw();

Возвращаемое значениеReturn Value

Число битов на пиксель.The number of bits per pixel.

КомментарииRemarks

Это значение определяет количество битов, определяющих каждый пиксель, и максимальное число цветов в точечном рисунке.This value determines the number of bits that define each pixel and the maximum number of colors in the bitmap.

Биты на пиксель обычно имеют значение 1, 4, 8, 16, 24 или 32.The bits per pixel is usually 1, 4, 8, 16, 24, or 32. biBitCountДополнительные сведения об этом значении см. в описании члена битмапинфохеадер в Windows SDK.See the biBitCount member of BITMAPINFOHEADER in the Windows SDK for more information about this value.

CImage:: ЖетколортаблеCImage::GetColorTable

Получает значения цвета красного, зеленого и синего цветов (RGB) из диапазона записей в палитре раздела DIB.Retrieves red, green, blue (RGB) color values from a range of entries in the palette of the DIB section.

void GetColorTable(
    UINT iFirstColor,
    UINT nColors,
    RGBQUAD* prgbColors) const throw();

ПараметрыParameters

ифирстколорiFirstColor
Индекс таблицы цветов первой записи для извлечения.The color table index of the first entry to retrieve.

нколорсnColors
Число записей в таблице цветов для извлечения.The number of color table entries to retrieve.

пргбколорсprgbColors
Указатель на массив структур ргбкуад для получения записей таблицы цветов.A pointer to the array of RGBQUAD structures to retrieve the color table entries.

CImage:: GetDCCImage::GetDC

Извлекает контекст устройства, в котором в данный момент выбран образ.Retrieves the device context that currently has the image selected into it.

HDC GetDC() const throw();

Возвращаемое значениеReturn Value

Дескриптор для контекста устройства.A handle to a device context.

КомментарииRemarks

Для каждого вызова необходимо GetDC последующий вызов к релеаседк.For each call to GetDC, you must have a subsequent call to ReleaseDC.

CImage:: ЖетекспортерфилтерстрингCImage::GetExporterFilterString

Находит форматы изображений, доступные для сохранения изображений.Finds image formats available for saving images.

static HRESULT GetExporterFilterString(
    CSimpleString& strExporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultSave,
    TCHAR chSeparator = _T('|'));

ПараметрыParameters

стрекспортерсstrExporters
Ссылка на объект CSimpleString.A reference to a CSimpleString object. Дополнительные сведения см. в разделе Примечания .See Remarks for more information.

агуидфилетипесaguidFileTypes
Массив идентификаторов GUID, каждый элемент которого соответствует одному из типов файлов в строке.An array of GUIDs, with each element corresponding to one of the file types in the string. В примере, приведенном ниже псзаллфилесдескриптион , агуидфилетипес[0] GUID_NULL, а остальные значения массива — форматы файлов изображений, поддерживаемые текущей операционной системой.In the example in pszAllFilesDescription below, aguidFileTypes[0] is GUID_NULL and the remaining array values are the image file formats supported by the current operating system.

Примечание

Полный список констант см. в подразделе константы формата файла изображения в Windows SDK.For a complete list of constants, see Image File Format Constants in the Windows SDK.

псзаллфилесдескриптионpszAllFilesDescription
Если этот параметр не равен NULL, строка фильтра будет содержать один дополнительный фильтр в начале списка.If this parameter is not NULL, the filter string will have one additional filter at the beginning of the list. Этот фильтр будет иметь текущее значение псзаллфилесдескриптион для его описания и принимает файлы любого расширения, поддерживаемые любым другим средством экспорта в списке.This filter will have the current value of pszAllFilesDescription for its description, and accepts files of any extension supported by any other exporter in the list.

Пример:For example:

//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any exporter.
CImage::GetExporterFilterString(
    strExporters, aguidFileTypes,
_T("All Image Files"));

двексклудеdwExclude
Набор битовых флагов, указывающих, какие типы файлов следует исключить из списка.Set of bit flags specifying which file types to exclude from the list. Допустимые флаги:Allowable flags are:

  • excludeGIF = 0x01 исключает GIF-файлы.excludeGIF = 0x01 Excludes GIF files.

  • excludeBMP = 0x02 исключает файлы BMP (точечные рисунки Windows).excludeBMP = 0x02 Excludes BMP (Windows Bitmap) files.

  • excludeEMF = 0x04 исключает файлы EMF (расширенный метафайл).excludeEMF = 0x04 Excludes EMF (Enhanced Metafile) files.

  • excludeWMF = 0x08 исключает файлы метафайла WMF (Windows Metafile).excludeWMF = 0x08 Excludes WMF (Windows Metafile) files.

  • excludeJPEG = 0x10 исключает файлы JPEG.excludeJPEG = 0x10 Excludes JPEG files.

  • excludePNG = 0x20 исключает PNG-файлы.excludePNG = 0x20 Excludes PNG files.

  • excludeTIFF = 0x40 исключает TIFF-файлы.excludeTIFF = 0x40 Excludes TIFF files.

  • excludeIcon = 0x80 исключает файлы ICO (значок Windows).excludeIcon = 0x80 Excludes ICO (Windows Icon) files.

  • excludeOther = 0x80000000 исключает все другие типы файлов, не указанные в списке выше.excludeOther = 0x80000000 Excludes any other file type not listed above.

  • excludeDefaultLoad = 0 для загрузки; все типы файлов включены по умолчаниюexcludeDefaultLoad = 0 For load, all file types are included by default

  • excludeDefaultSave = excludeIcon &#124; excludeEMF &#124; excludeWMF Для сохранения эти файлы исключаются по умолчанию, так как обычно они имеют особые требования.excludeDefaultSave = excludeIcon &#124; excludeEMF &#124; excludeWMF For saving, these files are excluded by default because they usually have special requirements.

чсепараторchSeparator
Разделитель, используемый между форматами изображения.The separator used between the image formats. Дополнительные сведения см. в разделе Примечания .See Remarks for more information.

Возвращаемое значениеReturn Value

Стандартное значение HRESULT.A standard HRESULT.

КомментарииRemarks

Вы можете передать полученную строку формата в объект MFC CFileDialog , чтобы предоставить расширения файлов доступных форматов изображений в диалоговом окне файл сохранить как.You can pass the resulting format string to your MFC CFileDialog object to expose the file extensions of the available image formats in the File Save As dialog box.

Параметр стрекспортер имеет формат:The parameter strExporter has the format:

файл description0|* . ext0|filedescription1|* . EXT1|... Описание файла n|* . ext n||file description0|*.ext0|filedescription1|*.ext1|...file description n|*.ext n||

где "|" — это символ-разделитель, заданный параметром chSeparator .where '|' is the separator character specified by chSeparator. Пример:For example:

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

Используйте разделитель по умолчанию "|", если передать эту строку в CFileDialog объект MFC.Use the default separator '|' if you pass this string to an MFC CFileDialog object. Используйте разделитель null "\ 0", если передать эту строку в диалоговое окно "Сохранение файла".Use the null separator '\0' if you pass this string to a common File Save dialog box.

CImage:: HeightCImage::GetHeight

Получает высоту изображения в пикселях.Retrieves the height, in pixels, of an image.

int GetHeight() const throw();

Возвращаемое значениеReturn Value

Высота изображения в пикселях.The height, in pixels, of an image.

CImage:: ЖетимпортерфилтерстрингCImage::GetImporterFilterString

Находит форматы изображений, доступные для загрузки изображений.Finds image formats available for loading images.

static HRESULT GetImporterFilterString(
    CSimpleString& strImporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultLoad,
    TCHAR chSeparator = _T('|'));

ПараметрыParameters

стримпортерсstrImporters
Ссылка на объект CSimpleString.A reference to a CSimpleString object. Дополнительные сведения см. в разделе Примечания .See Remarks for more information.

агуидфилетипесaguidFileTypes
Массив идентификаторов GUID, каждый элемент которого соответствует одному из типов файлов в строке.An array of GUIDs, with each element corresponding to one of the file types in the string. В примере, приведенном ниже псзаллфилесдескриптион , агуидфилетипес[0] GUID_NULL с остальными значениями массива — форматы файлов изображений, поддерживаемые текущей операционной системой.In the example in pszAllFilesDescription below, aguidFileTypes[0] is GUID_NULL with the remaining array values are the image file formats supported by the current operating system.

Примечание

Полный список констант см. в подразделе константы формата файла изображения в Windows SDK.For a complete list of constants, see Image File Format Constants in the Windows SDK.

псзаллфилесдескриптионpszAllFilesDescription
Если этот параметр не равен NULL, строка фильтра будет содержать один дополнительный фильтр в начале списка.If this parameter is not NULL, the filter string will have one additional filter at the beginning of the list. Этот фильтр будет иметь текущее значение псзаллфилесдескриптион для его описания и принимает файлы любого расширения, поддерживаемые любым другим средством экспорта в списке.This filter will have the current value of pszAllFilesDescription for its description, and accepts files of any extension supported by any other exporter in the list.

Пример:For example:

//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any importer.
CImage::GetImporterFilterString(
    strImporters, aguidFileTypes,
_T("All Image Files"));

двексклудеdwExclude
Набор битовых флагов, указывающих, какие типы файлов следует исключить из списка.Set of bit flags specifying which file types to exclude from the list. Допустимые флаги:Allowable flags are:

  • excludeGIF = 0x01 исключает GIF-файлы.excludeGIF = 0x01 Excludes GIF files.

  • excludeBMP = 0x02 исключает файлы BMP (точечные рисунки Windows).excludeBMP = 0x02 Excludes BMP (Windows Bitmap) files.

  • excludeEMF = 0x04 исключает файлы EMF (расширенный метафайл).excludeEMF = 0x04 Excludes EMF (Enhanced Metafile) files.

  • excludeWMF = 0x08 исключает файлы метафайла WMF (Windows Metafile).excludeWMF = 0x08 Excludes WMF (Windows Metafile) files.

  • excludeJPEG = 0x10 исключает файлы JPEG.excludeJPEG = 0x10 Excludes JPEG files.

  • excludePNG = 0x20 исключает PNG-файлы.excludePNG = 0x20 Excludes PNG files.

  • excludeTIFF = 0x40 исключает TIFF-файлы.excludeTIFF = 0x40 Excludes TIFF files.

  • excludeIcon = 0x80 исключает файлы ICO (значок Windows).excludeIcon = 0x80 Excludes ICO (Windows Icon) files.

  • excludeOther = 0x80000000 исключает все другие типы файлов, не указанные в списке выше.excludeOther = 0x80000000 Excludes any other file type not listed above.

  • excludeDefaultLoad = 0 для загрузки; все типы файлов включены по умолчаниюexcludeDefaultLoad = 0 For load, all file types are included by default

  • excludeDefaultSave = excludeIcon &#124; excludeEMF &#124; excludeWMF Для сохранения эти файлы исключаются по умолчанию, так как обычно они имеют особые требования.excludeDefaultSave = excludeIcon &#124; excludeEMF &#124; excludeWMF For saving, these files are excluded by default because they usually have special requirements.

чсепараторchSeparator
Разделитель, используемый между форматами изображения.The separator used between the image formats. Дополнительные сведения см. в разделе Примечания .See Remarks for more information.

КомментарииRemarks

Вы можете передать полученную строку формата в объект MFC CFileDialog , чтобы предоставить расширения файлов доступных форматов изображений в диалоговом окне открытия файла .You can pass the resulting format string to your MFC CFileDialog object to expose the file extensions of the available image formats in the File Open dialog box.

Параметр стримпортер имеет формат:The parameter strImporter has the format:

файл description0|* . ext0|filedescription1|* . EXT1|... Описание файла n|* . ext n||file description0|*.ext0|filedescription1|*.ext1|...file description n|*.ext n||

где "|" — это символ-разделитель, заданный параметром чсепаратор.where '|' is the separator character specified by chSeparator. Пример:For example:

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

Используйте разделитель по умолчанию "|", если передать эту строку в CFileDialog объект MFC.Use the default separator '|' if you pass this string to an MFC CFileDialog object. Используйте разделитель null "\ 0", если вы передали эту строку в диалоговое окно открытия общего файла .Use the null separator '\0' if you pass this string to a common File Open dialog box.

CImage:: ЖетмаксколортаблинтриесCImage::GetMaxColorTableEntries

Возвращает максимальное число записей в таблице цветов.Retrieves the maximum number of entries in the color table.

int GetMaxColorTableEntries() const throw();

Возвращаемое значениеReturn Value

Число записей в таблице цветов.The number of entries in the color table.

КомментарииRemarks

Этот метод поддерживает только растровые изображения раздела DIB.This method supports only DIB section bitmaps.

CImage:: шагCImage::GetPitch

Получает шаг изображения.Retrieves the pitch of an image.

int GetPitch() const throw();

Возвращаемое значениеReturn Value

Шаг изображения.The pitch of the image. Если возвращаемое значение отрицательное, то битовая карта имеет формат DIB, а его источник — в левом нижнем углу.If the return value is negative, the bitmap is a bottom-up DIB and its origin is the lower left corner. Если возвращаемое значение положительное, то точечный рисунок является верхним (DIB) и его источником является верхний левый угол.If the return value is positive, the bitmap is a top-down DIB and its origin is the upper left corner.

КомментарииRemarks

Шаг — это расстояние в байтах между двумя адресами памяти, представляющими начало одной строки точечного рисунка, и начало следующей строки.The pitch is the distance, in bytes, between two memory addresses that represent the beginning of one bitmap line and the beginning of the next bitmap line. Так как шаг измеряется в байтах, шаг изображения помогает определить формат пикселей.Because pitch is measured in bytes, the pitch of an image helps you to determine the pixel format. Шаг может также включать дополнительную память, зарезервированную для точечного рисунка.The pitch can also include additional memory, reserved for the bitmap.

Используйте GetPitch WITH , чтобы найти отдельные пиксели изображения.Use GetPitch with GetBits to find individual pixels of an image.

Примечание

Этот метод поддерживает только растровые изображения раздела DIB.This method supports only DIB section bitmaps.

CImage::CImage::GetPixel

Получает цвет пикселя в расположении, заданном как x и y.Retrieves the color of the pixel at the location specified by x and y.

COLORREF GetPixel(int x, int y) const throw();

ПараметрыParameters

xx
Координата x пикселя.The x-coordinate of the pixel.

yy
Координата y пикселя.The y-coordinate of the pixel.

Возвращаемое значениеReturn Value

Значение красного, зеленого, синего (RGB) пикселя.The red, green, blue (RGB) value of the pixel. Если пиксель находится за пределами текущей вырезанной области, возвращаемое значение будет CLR_INVALID.If the pixel is outside of the current clipping region, the return value is CLR_INVALID.

CImage:: ЖетпикселаддрессCImage::GetPixelAddress

Извлекает точный адрес пикселя.Retrieves the exact address of a pixel.

void* GetPixelAddress(int x, int y) throw();

ПараметрыParameters

xx
Координата x пикселя.The x-coordinate of the pixel.

yy
Координата y пикселя.The y-coordinate of the pixel.

КомментарииRemarks

Адрес определяется в соответствии с координатами пиксела, шагом точечного рисунка и битами на пиксель.The address is determined according to the coordinates of a pixel, the pitch of the bitmap, and the bits per pixel.

Для форматов, имеющих менее 8 бит на пиксель, этот метод возвращает адрес байта, содержащего пиксель.For formats that have less than 8 bits per pixel, this method returns the address of the byte containing the pixel. Например, если формат изображения содержит 4 бита на пиксель, то GetPixelAddress возвращает адрес первого пикселя в байте, и необходимо вычислить значение в 2 пикселах на байт.For example, if your image format has 4 bits per pixel, GetPixelAddress returns the address of the first pixel in the byte, and you must calculate for 2 pixels per byte.

Примечание

Этот метод поддерживает только растровые изображения раздела DIB.This method supports only DIB section bitmaps.

CImage:: ЖеттранспарентколорCImage::GetTransparentColor

Получает индексированное расположение прозрачного цвета в палитре цветов.Retrieves the indexed location of the transparent color in the color palette.

LONG GetTransparentColor() const throw();

Возвращаемое значениеReturn Value

Индекс прозрачного цвета.The index of the transparent color.

CImage:: ПолуширинныйCImage::GetWidth

Получает ширину изображения в пикселях.Retrieves the width, in pixels, of an image.

int GetWidth() const throw();

Возвращаемое значениеReturn Value

Ширина точечного рисунка в пикселях.The width of the bitmap, in pixels.

CImage:: ИсдибсектионCImage::IsDIBSection

Определяет, является ли присоединенный точечный рисунок разделом DIB.Determines if the attached bitmap is a DIB section.

bool IsDIBSection() const throw();

Возвращаемое значениеReturn Value

Значение TRUE, если присоединенный точечный рисунок является разделом DIB.TRUE if the attached bitmap is a DIB section. В противном случае — FALSE.Otherwise FALSE.

КомментарииRemarks

Если точечный рисунок не является разделом DIB, то нельзя использовать следующие CImage методы, поддерживающие только точечные рисунки раздела DIB:If the bitmap is not a DIB section, you cannot use the following CImage methods, which support only DIB section bitmaps:

CImage:: проиндексированCImage::IsIndexed

Определяет, сопоставлены ли пикселы растрового изображения с цветовой палитрой.Determines whether a bitmap's pixels are mapped to a color palette.

bool IsIndexed() const throw();

Возвращаемое значениеReturn Value

TRUE при индексировании; в противном случае — FALSE.TRUE if indexed; otherwise FALSE.

КомментарииRemarks

Этот метод возвращает значение TRUE только в том случае, если точечный рисунок имеет глубину 8 бит (256 цветов) или меньше.This method returns TRUE only if the bitmap is 8-bit (256 colors) or less.

Примечание

Этот метод поддерживает только растровые изображения раздела DIB.This method supports only DIB section bitmaps.

CImage:: IsNullCImage::IsNull

Определяет, загружен ли точечный рисунок в данный момент.Determines if a bitmap is currently loaded.

bool IsNull() const throw();

КомментарииRemarks

Этот метод возвращает значение TRUE, если точечный рисунок в данный момент не загружен. в противном случае — FALSE.This method returns TRUE if a bitmap is not currently loaded; otherwise FALSE.

CImage:: ИстранспаренцисуппортедCImage::IsTransparencySupported

Указывает, поддерживает ли приложение прозрачные точечные рисунки.Indicates whether the application supports transparent bitmaps.

static BOOL IsTransparencySupported() throw();

Возвращаемое значениеReturn Value

Ненулевое значение, если текущая платформа поддерживает прозрачность.Nonzero if the current platform supports transparency. В противном случае 0.Otherwise 0.

КомментарииRemarks

Если возвращаемое значение не равно нулю и поддерживается прозрачность, вызов алфабленд, транспарентблтили Draw будет работать с прозрачными цветами.If the return value is nonzero, and transparency is supported, a call to AlphaBlend, TransparentBlt, or Draw will handle transparent colors.

CImage:: LoadCImage::Load

Загружает изображение.Loads an image.

HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();

ПараметрыParameters

pszFileNamepszFileName
Указатель на строку, содержащую имя загружаемого файла изображения.A pointer to a string containing the name of the image file to load.

пстреамpStream
Указатель на поток, содержащий имя загружаемого файла изображения.A pointer to a stream containing the name of the image file to load.

Возвращаемое значениеReturn Value

Стандартное значение HRESULT.A standard HRESULT.

КомментарииRemarks

Загружает образ, заданный параметром pszFileName или пстреам.Loads the image specified by pszFileName or pStream.

Допустимые типы изображений: BMP, GIF, JPEG, PNG и TIFF.Valid image types are BMP, GIF, JPEG, PNG, and TIFF.

CImage:: ЛоадфромресаурцеCImage::LoadFromResource

Загружает изображение из ресурса ТОЧЕЧного рисунка.Loads an image from a BITMAP resource.

void LoadFromResource(
    HINSTANCE hInstance,
    LPCTSTR pszResourceName) throw();

void LoadFromResource(
    HINSTANCE hInstance,
    UINT nIDResource) throw();

ПараметрыParameters

hInstancehInstance
Обработчик экземпляра модуля, содержащего загружаемый образ.Handle to an instance of the module that contains the image to be loaded.

псзресаурценамеpszResourceName
Указатель на строку, содержащую имя ресурса, который необходимо загрузить.A pointer to the string containing the name of the resource containing the image to load.

нидресаурцеnIDResource
Идентификатор загружаемого ресурса.The ID of the resource to load.

КомментарииRemarks

Ресурс должен иметь тип BITMAP.The resource must be of type BITMAP.

CImage:: МаскблтCImage::MaskBlt

Объединяет цветовые данные исходного и целевого точечных рисунков с помощью заданной операции маски и растрового изображения.Combines the color data for the source and destination bitmaps using the specified mask and raster operation.

BOOL MaskBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    HBITMAP hbmMask,
    int xMask,
    int yMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const POINT& pointSrc,
    HBITMAP hbmMask,
    const POINT& pointMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    HBITMAP hbmMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    const POINT& pointDest,
    HBITMAP hbmMask,
    DWORD dwROP = SRCCOPY) const throw();

ПараметрыParameters

хдестдкhDestDC
Обработчик для модуля, исполняемый объект которого содержит ресурс.The handle to the module whose executable contains the resource.

ксдестxDest
Координата x в логических единицах верхнего левого угла прямоугольника назначения.The x-coordinate, in logical units, of the upper left corner of the destination rectangle.

идестyDest
Координата y (в логических единицах) верхнего левого угла прямоугольника назначения.The y-coordinate, in logical units, of the upper left corner of the destination rectangle.

ндествидсnDestWidth
Ширина (в логических единицах) прямоугольника назначения и исходного растрового изображения.The width, in logical units, of the destination rectangle and source bitmap.

ндессеигхтnDestHeight
Высота (в логических единицах) прямоугольника назначения и исходного растрового изображения.The height, in logical units, of the destination rectangle and source bitmap.

кссркxSrc
Логическая Координата по оси x верхнего левого угла исходного растрового изображения.The logical x-coordinate of the upper left corner of the source bitmap.

исркySrc
Логическая Координата по оси y верхнего левого угла исходного растрового изображения.The logical y-coordinate of the upper left corner of the source bitmap.

хбммаскhbmMask
Обрабатывайте растровую маску монохромной маски в сочетании с цветовым рисунком в контексте исходного устройства.Handle to the monochrome mask bitmap combined with the color bitmap in the source device context.

ксмаскxMask
Горизонтальное смещение точечного рисунка маски, заданное параметром хбммаск .The horizontal pixel offset for the mask bitmap specified by the hbmMask parameter.

имаскyMask
Вертикальное смещение точечного рисунка маски, заданное параметром хбммаск .The vertical pixel offset for the mask bitmap specified by the hbmMask parameter.

двропdwROP
Задает как передний, так и фоновый ternary растровые коды операций, используемые методом для управления сочетанием исходных и целевых данных.Specifies both foreground and background ternary raster operation codes that the method uses to control the combination of source and destination data. Код фоновой операции растрового изображения хранится в байтовом высоком порядке в слове этого значения. код растровой операции переднего плана хранится в байте нижнего порядка в слове с высоким порядком в этом значении. Младшее слово этого значения игнорируется и должно быть равно нулю.The background raster operation code is stored in the high-order byte of the high-order word of this value; the foreground raster operation code is stored in the low-order byte of the high-order word of this value; the low-order word of this value is ignored, and should be zero. Обсуждение переднего плана и фона в контексте этого метода см MaskBlt . в разделе Windows SDK.For a discussion of foreground and background in the context of this method, see MaskBlt in the Windows SDK. Список общих кодов растровых операций см BitBlt . в разделе Windows SDK.For a list of common raster operation codes, see BitBlt in the Windows SDK.

ректдестrectDest
Ссылка на RECT структуру, определяющую назначение.A reference to a RECT structure, identifying the destination.

поинтсркpointSrc
POINTСтруктура, указывающая верхний левый угол исходного прямоугольника.A POINT structure indicating the upper left corner of the source rectangle.

поинтмаскpointMask
POINTСтруктура, указывающая верхний левый угол битовой карты маски.A POINT structure indicating the upper left corner of the mask bitmap.

поинтдестpointDest
Ссылка на POINT структуру, определяющую левый верхний угол прямоугольника назначения в логических единицах.A reference to a POINT structure that identifies the upper left corner of the destination rectangle, in logical units.

Возвращаемое значениеReturn Value

Ненулевое значение в случае успеха; в противном случае — 0Nonzero if successful, otherwise 0.

КомментарииRemarks

Этот метод применим только к Windows NT версии 4,0 и более поздним.This method applies to Windows NT, versions 4.0 and later only.

CImage:: operator ХБИТМАПCImage::operator HBITMAP

Этот оператор используется для получения подключенного маркера GDI Windows CImage объекта.Use this operator to get the attached Windows GDI handle of the CImage object. Этот оператор является оператором приведения, который поддерживает прямое использование объекта ХБИТМАП.This operator is a casting operator, which supports direct use of an HBITMAP object.

CImage::P ЛгблтCImage::PlgBlt

Выполняет перенос битового блока из прямоугольника в исходном контексте устройства в параллелограмм в контексте целевого устройства.Performs a bit-block transfer from a rectangle in a source device context into a parallelogram in a destination device context.

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    HBITMAP hbmMask = NULL) const throw();

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    HBITMAP hbmMask = NULL,
    int xMask = 0,
    int yMask = 0) const throw();

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    const RECT& rectSrc,
    HBITMAP hbmMask = NULL,
    const POINT& pointMask = CPoint(0, 0)) const throw();

ПараметрыParameters

хдестдкhDestDC
Маркер контекста целевого устройства.A handle to the destination device context.

ппоинтсpPoints
Указатель на массив из трех точек в логическом пространстве, который определяет три угла целевого параллелограмма.A pointer to an array of three points in logical space that identify three corners of the destination parallelogram. Левый верхний угол исходного прямоугольника сопоставляется с первой точкой в этом массиве, правом верхнем углу второй точки в этом массиве, а нижний левый угол — с третьей точкой.The upper left corner of the source rectangle is mapped to the first point in this array, the upper-right corner to the second point in this array, and the lower left corner to the third point. Правый нижний угол исходного прямоугольника сопоставляется с неявной четвертой точкой в параллелограмм.The lower-right corner of the source rectangle is mapped to the implicit fourth point in the parallelogram.

хбммаскhbmMask
Маркер необязательного нехромного точечного рисунка, который используется для маскирования цветов исходного прямоугольника.A handle to an optional monochrome bitmap that is used to mask the colors of the source rectangle.

кссркxSrc
Координата x в логических единицах верхнего левого угла исходного прямоугольника.The x-coordinate, in logical units, of the upper left corner of the source rectangle.

исркySrc
Координата по оси y (в логических единицах) верхнего левого угла исходного прямоугольника.The y-coordinate, in logical units, of the upper left corner of the source rectangle.

нсрквидсnSrcWidth
Ширина (в логических единицах) исходного прямоугольника.The width, in logical units, of the source rectangle.

нсрчеигхтnSrcHeight
Высота исходного прямоугольника в логических единицах.The height, in logical units, of the source rectangle.

ксмаскxMask
Координата по оси x верхнего левого угла монохромного изображения.The x-coordinate of the upper left corner of the monochrome bitmap.

имаскyMask
Координата по оси y верхнего левого угла монохромного изображения.The y-coordinate of the upper left corner of the monochrome bitmap.

ректсркrectSrc
Ссылка на структуру Rect , указывающую координаты исходного прямоугольника.A reference to a RECT structure specifying the coordinates of the source rectangle.

поинтмаскpointMask
Структура точек , указывающая верхний левый угол битовой карты маски.A POINT structure indicating the upper left corner of the mask bitmap.

Возвращаемое значениеReturn Value

Ненулевое значение в случае успеха; в противном случае — 0Nonzero if successful, otherwise 0.

КомментарииRemarks

Если хбммаск определяет допустимое монохромное растровое изображение, PlgBit использует это растровое изображение для маскирования битов цветовых данных из исходного прямоугольника.If hbmMask identifies a valid monochrome bitmap, PlgBit uses this bitmap to mask the bits of color data from the source rectangle.

Этот метод применим только к Windows NT версии 4,0 и более поздним.This method applies to Windows NT, versions 4.0 and later only. Более подробные сведения см. в разделе плгблт в Windows SDK.See PlgBlt in the Windows SDK for more detailed information.

CImage:: РелеаседкCImage::ReleaseDC

Освобождает контекст устройства.Releases the device context.

void ReleaseDC() const throw();

КомментарииRemarks

Так как в контекст устройства можно выбрать только одно растровое изображение, необходимо вызвать метод ReleaseDC для каждого вызова GetDC.Because only one bitmap can be selected into a device context at a time, you must call ReleaseDC for each call to GetDC.

CImage:: РелеасегдиплусCImage::ReleaseGDIPlus

Высвобождает ресурсы, используемые GDI+.Releases resources used by GDI+.

void ReleaseGDIPlus() throw();

КомментарииRemarks

Этот метод должен вызываться для освобождения ресурсов, выделенных глобальным CImage объектом.This method must be called to free resources allocated by a global CImage object. См. раздел CImage:: CImage.See CImage::CImage.

CImage:: SaveCImage::Save

Сохраняет изображение в указанный поток или файл на диске.Saves an image to the specified stream or file on disk.

HRESULT Save(
    IStream* pStream,
    REFGUID guidFileType) const throw();

HRESULT Save(
    LPCTSTR pszFileName,
    REFGUID guidFileType = GUID_NULL) const throw();

ПараметрыParameters

пстреамpStream
Указатель на объект IStream COM, содержащий данные образа файла.A pointer to a COM IStream object containing the file image data.

pszFileNamepszFileName
Указатель на имя файла для изображения.A pointer to the file name for the image.

гуидфилетипеguidFileType
Тип файла для сохранения образа.The file type to save the image as. Может применяться один из перечисленных ниже типов.Can be one of the following:

  • ImageFormatBMP Несжатое растровое изображение.ImageFormatBMP An uncompressed bitmap image.

  • ImageFormatPNG Сжатый PNG-образ.ImageFormatPNG A Portable Network Graphic (PNG) compressed image.

  • ImageFormatJPEG Сжатое изображение JPEG.ImageFormatJPEG A JPEG compressed image.

  • ImageFormatGIF Сжатое изображение в формате GIF.ImageFormatGIF A GIF compressed image.

Примечание

Полный список констант см. в подразделе константы формата файла изображения в Windows SDK.For a complete list of constants, see Image File Format Constants in the Windows SDK.

Возвращаемое значениеReturn Value

Стандартное значение HRESULT.A standard HRESULT.

КомментарииRemarks

Вызовите эту функцию, чтобы сохранить изображение, используя указанные имя и тип.Call this function to save the image using a specified name and type. Если параметр гуидфилетипе не включен, то для определения формата образа будет использоваться расширение файла имени файла.If the guidFileType parameter is not included, the file name's file extension will be used to determine the image format. Если расширение не указано, образ будет сохранен в формате BMP.If no extension is provided, the image will be saved in BMP format.

CImage:: СетколортаблеCImage::SetColorTable

Задает значения цвета красного, зеленого и синего (RGB) для диапазона записей в палитре раздела DIB.Sets the red, green, blue (RGB) color values for a range of entries in the palette of the DIB section.

void SetColorTable(
    UINT iFirstColor,
    UINT nColors,
    const RGBQUAD* prgbColors) throw();

ПараметрыParameters

ифирстколорiFirstColor
Индекс таблицы цветов первой заданной записи.The color table index of the first entry to set.

нколорсnColors
Число заданных записей в таблице цветов.The number of color table entries to set.

пргбколорсprgbColors
Указатель на массив структур ргбкуад для задания записей в таблице цветов.A pointer to the array of RGBQUAD structures to set the color table entries.

КомментарииRemarks

Этот метод поддерживает только растровые изображения раздела DIB.This method supports only DIB section bitmaps.

CImage:: SetPixelCImage::SetPixel

Задает цвет пикселя в заданном месте точечного рисунка.Sets the color of a pixel at a given location in the bitmap.

void SetPixel(int x, int y, COLORREF color) throw();

ПараметрыParameters

xx
Горизонтальное расположение устанавливаемого пикселя.The horizontal location of the pixel to set.

yy
Вертикальное расположение устанавливаемого пикселя.The vertical location of the pixel to set.

colorcolor
Цвет, в который задается пиксель.The color to which you set the pixel.

КомментарииRemarks

Этот метод завершается ошибкой, если координаты пикселя выходят за пределы выбранной области отсечения.This method fails if the pixel coordinates lie outside of the selected clipping region.

CImage:: СетпикселиндекседCImage::SetPixelIndexed

Задает цвет пикселя для цвета, расположенного по адресу ииндекс в палитре цветов.Sets the pixel color to the color located at iIndex in the color palette.

void SetPixelIndexed(int x, int y, int iIndex) throw();

ПараметрыParameters

xx
Горизонтальное расположение устанавливаемого пикселя.The horizontal location of the pixel to set.

yy
Вертикальное расположение устанавливаемого пикселя.The vertical location of the pixel to set.

ииндексiIndex
Индекс цвета в палитре цветов.The index of a color in the color palette.

CImage:: СетпикселргбCImage::SetPixelRGB

Задает пиксел в расположениях, заданных x и y , с цветами, обозначенными r, g и b, красным, зеленым, синим (RGB) образом.Sets the pixel at the locations specified by x and y to the colors indicated by r, g, and b, in a red, green, blue (RGB) image.

void SetPixelRGB(
    int x,
    int y,
    BYTE r,
    BYTE g,
    BYTE b) throw();

ПараметрыParameters

xx
Горизонтальное расположение устанавливаемого пикселя.The horizontal location of the pixel to set.

yy
Вертикальное расположение устанавливаемого пикселя.The vertical location of the pixel to set.

rr
Интенсивность красного цвета.The intensity of the red color.

gg
Интенсивность зеленого цвета.The intensity of the green color.

bb
Интенсивность синего цвета.The intensity of the blue color.

КомментарииRemarks

Параметры красного, зеленого и синего параметров представлены числом от 0 до 255.The red, green, and blue parameters are each represented by a number between 0 and 255. Если для всех трех параметров установить нулевое значение, то итоговый цвет будет черным.If you set all three parameters to zero, the combined resulting color is black. Если для всех трех параметров задать значение 255, то итоговый цвет будет белым.If you set all three parameters to 255, the combined resulting color is white.

CImage:: СеттранспарентколорCImage::SetTransparentColor

Задает цвет в указанном индексированном расположении как прозрачный.Sets a color at a given indexed location as transparent.

LONG SetTransparentColor(LONG iTransparentColor) throw();

ПараметрыParameters

iTransparentColoriTransparentColor
Индекс в цветовой палитре, для которого задается прозрачный цвет.The index, in a color palette, of the color to set to transparent. Если задано значение-1, цвет не имеет значения Transparent.If -1, no color is set to transparent.

Возвращаемое значениеReturn Value

Индекс цвета, ранее заданный в качестве прозрачного.The index of the color previously set as transparent.

CImage:: СтретчблтCImage::StretchBlt

Копирует точечный рисунок из контекста исходного устройства в этот текущий контекст устройства.Copies a bitmap from the source device context to this current device context.

BOOL StretchBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    const RECT& rectDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    DWORD dwROP = SRCCOPY) const throw();

ПараметрыParameters

хдестдкhDestDC
Маркер контекста целевого устройства.A handle to the destination device context.

ксдестxDest
Координата x в логических единицах верхнего левого угла прямоугольника назначения.The x-coordinate, in logical units, of the upper left corner of the destination rectangle.

идестyDest
Координата y (в логических единицах) верхнего левого угла прямоугольника назначения.The y-coordinate, in logical units, of the upper left corner of the destination rectangle.

ндествидсnDestWidth
Ширина (в логических единицах) прямоугольника назначения.The width, in logical units, of the destination rectangle.

ндессеигхтnDestHeight
Высота прямоугольника назначения в логических единицах.The height, in logical units, of the destination rectangle.

двропdwROP
Выполняемая растровая операция.The raster operation to be performed. Коды операций с растровым набором определяют способ объединения битов источника, назначения и шаблона (как определено текущей выбранной кистью) для формирования назначения.Raster-operation codes define exactly how to combine the bits of the source, the destination, and the pattern (as defined by the currently selected brush) to form the destination. Список других кодов точечных операций и их описание см. в разделе BitBlt в Windows SDK.See BitBlt in the Windows SDK for a list of other raster-operation codes and their descriptions.

ректдестrectDest
Ссылка на структуру Rect , определяющую назначение.A reference to a RECT structure, identifying the destination.

кссркxSrc
Координата x в логических единицах верхнего левого угла исходного прямоугольника.The x-coordinate, in logical units, of the upper left corner of the source rectangle.

исркySrc
Координата по оси y (в логических единицах) верхнего левого угла исходного прямоугольника.The y-coordinate, in logical units, of the upper left corner of the source rectangle.

нсрквидсnSrcWidth
Ширина (в логических единицах) исходного прямоугольника.The width, in logical units, of the source rectangle.

нсрчеигхтnSrcHeight
Высота исходного прямоугольника в логических единицах.The height, in logical units, of the source rectangle.

ректсркrectSrc
Ссылка на RECT структуру, определяющую источник.A reference to a RECT structure, identifying the source.

Возвращаемое значениеReturn Value

Ненулевое значение в случае успеха; в противном случае — 0Nonzero if successful, otherwise 0.

КомментарииRemarks

Дополнительные сведения см. в разделе стретчблт в Windows SDK.For more information, see StretchBlt in the Windows SDK.

CImage:: ТранспарентблтCImage::TransparentBlt

Копирует точечный рисунок из контекста исходного устройства в этот текущий контекст устройства.Copies a bitmap from the source device context to this current device context.

BOOL TransparentBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    const RECT& rectDest,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    UINT crTransparent = CLR_INVALID) const throw();

ПараметрыParameters

хдестдкhDestDC
Маркер контекста целевого устройства.A handle to the destination device context.

ксдестxDest
Координата x в логических единицах верхнего левого угла прямоугольника назначения.The x-coordinate, in logical units, of the upper left corner of the destination rectangle.

идестyDest
Координата y (в логических единицах) верхнего левого угла прямоугольника назначения.The y-coordinate, in logical units, of the upper left corner of the destination rectangle.

ндествидсnDestWidth
Ширина (в логических единицах) прямоугольника назначения.The width, in logical units, of the destination rectangle.

ндессеигхтnDestHeight
Высота прямоугольника назначения в логических единицах.The height, in logical units, of the destination rectangle.

кртранспарентcrTransparent
Цвет исходного растрового изображения, который должен считаться прозрачным.The color in the source bitmap to treat as transparent. По умолчанию CLR_INVALID, указывающее, что цвет, заданный в данный момент как прозрачный цвет изображения, должен использоваться.By default, CLR_INVALID, indicating that the color currently set as the transparent color of the image should be used.

ректдестrectDest
Ссылка на структуру Rect , определяющую назначение.A reference to a RECT structure, identifying the destination.

кссркxSrc
Координата x в логических единицах верхнего левого угла исходного прямоугольника.The x-coordinate, in logical units, of the upper left corner of the source rectangle.

исркySrc
Координата по оси y (в логических единицах) верхнего левого угла исходного прямоугольника.The y-coordinate, in logical units, of the upper left corner of the source rectangle.

нсрквидсnSrcWidth
Ширина (в логических единицах) исходного прямоугольника.The width, in logical units, of the source rectangle.

нсрчеигхтnSrcHeight
Высота исходного прямоугольника в логических единицах.The height, in logical units, of the source rectangle.

ректсркrectSrc
Ссылка на RECT структуру, определяющую источник.A reference to a RECT structure, identifying the source.

Возвращаемое значениеReturn Value

Значение TRUE, если выполнено успешно; в противном случае — FALSE.TRUE if successful, otherwise FALSE.

КомментарииRemarks

TransparentBlt поддерживается для исходных битовых карт размером 4 бита на пиксель и 8 бит на пиксель.TransparentBlt is supported for source bitmaps of 4 bits per pixel and 8 bits per pixel. Используйте CImage:: алфабленд , чтобы указать точечные рисунки размером 32 бит на пиксель с прозрачностью.Use CImage::AlphaBlend to specify 32 bits-per-pixel bitmaps with transparency.

ПримерExample

// Performs a transparent blit from the source image to the destination
// image using the images' current transparency settings
BOOL TransparentBlt(CImage* pSrcImage, CImage* pDstImage,
       int xDest, int yDest, int nDestWidth, int nDestHeight)
{
    HDC hDstDC = NULL;
    BOOL bResult;

    if(pSrcImage == NULL || pDstImage == NULL)
    {
        // Invalid parameter
        return FALSE;
    }

    // Obtain a DC to the destination image
    hDstDC = pDstImage->GetDC();
    // Perform the blit
    bResult = pSrcImage->TransparentBlt(hDstDC, xDest, yDest, nDestWidth, nDestHeight);

    // Release the destination DC
    pDstImage->ReleaseDC();

    return bResult;
}

См. также разделSee also

Пример МмкссвармMMXSwarm Sample
Пример СимплеимажеSimpleImage Sample
Аппаратно-независимые точечные рисункиDevice-Independent Bitmaps
креатедибсектионCreateDIBSection
Компоненты ATL COM DesktopATL COM Desktop Components
Аппаратно-независимые точечные рисункиDevice-Independent Bitmaps
креатедибсектионCreateDIBSection