На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

MaskBlt



The MaskBlt function combines the color data for the source and destination bitmaps using the specified mask and raster operation.

BOOL MaskBlt(

HDC hdcDest, // handle of destination device context
int nXDest, // x-coord. of upper-left corner of destination rectangle
int nYDest, // y-coord. of upper-left corner of destination rectangle
int nWidth, // width of source and destination rectangles
int nHeight, // height of source and destination rectangles
HDC hdcSrc, // handle of source device context
int nXSrc, // x-coord. of upper-left corner of source rectangle
int nYSrc, // y-coord. of upper-left corner of source rectangle
HBITMAP hbmMask, // handle of monochrome bit mask
int xMask, // horizontal pixel offset into the mask bitmap
int yMask, // vertical pixel offset into the mask bitmap
DWORD dwRop // raster operation code
);


Parameters

hdcDest

Identifies the destination device context.

nXDest

Specifies the logical x-coordinate of the upper-left corner of the destination rectangle.

nYDest

Specifies the logical y-coordinate of the upper-left corner of the destination rectangle.

nWidth

Specifies the width, in logical units, of the destination rectangle and source bitmap.

nHeight

Specifies the height, in logical units, of the destination rectangle and source bitmap.

hdcSrc

Identifies the device context from which the bitmap is to be copied. It must be zero if the dwRop parameter specifies a raster operation that does not include a source.

nXSrc

Specifies the logical x-coordinate of the upper-left corner of the source bitmap.

nYSrc

Specifies the logical y-coordinate of the upper-left corner of the source bitmap.

hbmMask

Identifies the monochrome mask bitmap combined with the color bitmap in the source device context.

xMask

Specifies the horizontal pixel offset for the mask bitmap specified by the hbmMask parameter.

yMask

Specifies the vertical pixel offset for the mask bitmap specified by the hbmMask parameter.

dwRop

Specifies both foreground and background ternary raster operation codes that the function 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. The macro MAKEROP4 creates such combinations of foreground and background raster operation codes.

For a discussion of foreground and background in the context of this function, see the following Remarks section.
For a list of common raster operation codes, see the BitBlt function.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

A value of 1 in the mask specified by hbmMask indicates that the foreground raster operation code specified by dwRop should be applied at that location. A value of 0 in the mask indicates that the background raster operation code specified by dwRop should be applied at that location.
If the raster operations require a source, the mask rectangle must cover the source rectangle. If it does not, the function will fail. If the raster operations do not require a source, the mask rectangle must cover the destination rectangle. If it does not, the function will fail.

If a rotation or shear transformation is in effect for the source device context when this function is called, an error occurs. However, other types of transformation are allowed.
If the color formats of the source, pattern, and destination bitmaps differ, this function converts the pattern or source format, or both, to match the destination format.
If the mask bitmap is not a monochrome bitmap, an error occurs.
When an enhanced metafile is being recorded, an error occurs (and the function returns FALSE) if the source device context identifies an enhanced-metafile device context.

Not all devices support the MaskBlt function. An application should call the GetDeviceCaps function to determine whether a device supports this function.
If no mask bitmap is supplied, this function behaves exactly like BitBlt, using the foreground raster operation code.
The pixel offsets in the mask bitmap map to the point (0,0) in the source device context's bitmap. This is useful in cases where a mask bitmap contains a set of masks; an application can easily apply any one of them to a mask-block transfer task by adjusting the pixel offsets and rectangle sizes sent to MaskBlt.

See Also

BitBlt, GetDeviceCaps, PlgBlt, StretchBlt


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

MaskBlt



Функция MaskBlt объединяет цветные данные для исходных и побитовых отображений расположения, использовавших определенную маску и растровую операцию.

BOOL MaskBlt(

HDC hdcDest, // РУЧКА контекста устройства расположения int nXDest, // x-coord. верхнего левого угла прямоугольника расположения int nYDest, // y-coord. верхнего левого угла прямоугольника расположения int nWidth, // ширина исходных и прямоугольников расположения int nHeight, // высота исходных и прямоугольников расположения HDC hdcSrc, // ручки исходного контекста устройства int nXSrc, // x-coord. верхнего левого угла исходного прямоугольника int nYSrc, // y-coord. верхнего левого угла исходного прямоугольника HBITMAP hbmMask, // ручка монохромной битовой маски int xMask, // горизонтальное смещение пикселя в побитовое отображение маски int yMask, // вертикальное смещение пикселя в побитовое отображение маски DWORD dwRop // растровый код операции
);


Параметры

hdcDest

Идентифицирует контекст устройства расположения.

nXDest

Определяет логический x-coordinate верхнего левого угла прямоугольника расположения.

nYDest

Определяет логический y-coordinate верхнего левого угла прямоугольника расположения.

nWidth

Определяет ширину, на логических устройствах, прямоугольника расположения и исходного побитового отображения.

nHeight

Определяет высоту, на логических устройствах, прямоугольника расположения и исходного побитового отображения.

hdcSrc

Идентифицирует контекст устройства из которого побитовое отображение должно быть скопировано. Это должно быть нулем если параметр dwRop определяет растровую операцию, что не включает источник.

nXSrc

Определяет логический x-coordinate верхнего левого угла исходного побитового отображения.

nYSrc

Определяет логический y-coordinate верхнего левого угла исходного побитового отображения.

hbmMask

Идентифицирует монохромное побитовое отображение маски объединенное цветным побитовым отображением в исходный контекст устройства.

xMask

Определяет горизонтальное смещение пикселя для побитового отображения маски определенного параметром hbmMask.

yMask

Определяет вертикальное смещение пикселя для побитового отображения маски определенного параметром hbmMask.

dwRop

Определяет, что как передний план так и троичная растровая операция фона кодирует, что функция использует, чтобы управлять комбинацией исходных и данных расположения. Код растровой операции фона загружен в старший байт старшего слова этой величины; код растровой операции переднего плана загружен в младший байт старшего слова этой величины; младшее слово этой величины проигнорировано, и должно - нулевым. Макро MAKEROP4 создает такие комбинации переднего плана и кодов растровой операции фона.

Для дискуссии переднего плана и фона в контексте этой функции, смотри секцию Замечаний следующего.
Для списка общих растровых кодов операции, смотри функцию BitBlt.



Обратные Величины

Если функция добивается успеха, обратная величина ненулевая.
Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, назовите GetLastError.

Замечания

Величина 1 в маске определенной hbmMask указывает, что код растровой операции переднего плана определенный dwRop должен быть приложен в этой позиции. Величина 0 в маске указывает, что код растровой операции фона определенный dwRop должен быть приложен в этой позиции.
Если растровые операции требуют источник, прямоугольник маски должен покрыть исходный прямоугольник. Если это делает нет, функция потерпит неудачу. Если растровые операции не требуют источник, прямоугольник маски должен покрыть прямоугольник расположения. Если это делает нет, функция потерпит неудачу.

Если вращение или преобразование сдвига - в силе для исходного контекста устройства когда эта функция названа, ошибка происходит. Тем не менее, другие типы преобразования допущены.
Если цветные форматы источника, сформируйтесь, и побитовые отображения расположения отличаются, эта функция преобразовывает образец или исходный формат, или оба, чтобы соответствовать формату расположения.
Если побитовое отображение маски является не монохромное побитовое отображение, ошибка происходит.
Когда расширенный метафайл записывается, ошибка происходит (и функция возвращает ЛОЖЬ) если исходный контекст устройства идентифицирует контекст расширенного метафайла устройства.

Не все устройства поддерживают функцию MaskBlt. Приложение должно называть функцию GetDeviceCaps, чтобы определять поддерживает устройство эту функцию.
Если никакое побитовое отображение маски не поставлено, эта функция ведется себя точно подобно BitBlt, использовавший код растровой операции переднего плана.
Пиксель компенсируется на карте побитового отображения маски по существу, (0,0) в контекстном побитовом отображении исходного устройства. Это полезное в случаях где побитовое отображение маски содержит установку масок; приложение может легко приложить любое из их к маскировать-блочной задаче передачи регулируя смещения пикселя и размеры прямоугольника посылались на MaskBlt.

Смотри Также

BitBlt, GetDeviceCaps, PlgBlt, StretchBlt


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz