|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
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
|
|
|
|
| |