Функция AlphaBlend (wingdi.h)
Функция AlphaBlend отображает растровые изображения с прозрачными или полупрозрачными пикселями.
Синтаксис
BOOL AlphaBlend(
[in] HDC hdcDest,
[in] int xoriginDest,
[in] int yoriginDest,
[in] int wDest,
[in] int hDest,
[in] HDC hdcSrc,
[in] int xoriginSrc,
[in] int yoriginSrc,
[in] int wSrc,
[in] int hSrc,
[in] BLENDFUNCTION ftn
);
Параметры
[in] hdcDest
Дескриптор контекста целевого устройства.
[in] xoriginDest
Координата X в логических единицах левого верхнего угла целевого прямоугольника.
[in] yoriginDest
Координата Y в логических единицах левого верхнего угла целевого прямоугольника.
[in] wDest
Ширина (в логических единицах) целевого прямоугольника.
[in] hDest
Высота (в логических единицах) целевого прямоугольника.
[in] hdcSrc
Дескриптор контекста исходного устройства.
[in] xoriginSrc
Координата X в логических единицах верхнего левого угла исходного прямоугольника.
[in] yoriginSrc
Координата Y в логических единицах верхнего левого угла исходного прямоугольника.
[in] wSrc
Ширина исходного прямоугольника в логических единицах.
[in] hSrc
Высота исходного прямоугольника в логических единицах.
[in] ftn
Функция альфа-смешивания для исходных и целевых растровых изображений, глобальное альфа-значение, применяемое ко всему исходному растровом рисунку, и сведения о форматировании исходного растрового изображения. Функции исходного и целевого смешения в настоящее время ограничены AC_SRC_OVER. См. структуры BLENDFUNCTION и EMRALPHABLEND .
Возвращаемое значение
Если функция выполняется успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE.
Комментарии
Если исходный и целевой прямоугольники имеют разный размер, то растровое изображение источника растягивается в соответствии с целевым прямоугольником. Если используется функция SetStretchBltMode , значение iStretchMode автоматически преобразуется в COLORONCOLOR для этой функции (то есть BLACKONWHITE, WHITEONBLACK и HALFTONE меняется на COLORONCOLOR).
Координаты назначения преобразуются с помощью преобразования, указанного в настоящее время для контекста целевого устройства. Исходные координаты преобразуются с помощью преобразования, указанного в настоящее время для контекста исходного устройства.
Если контекст исходного устройства идентифицирует расширенный контекст метафайла устройства, возникает ошибка (и функция возвращает значение FALSE).
Если конечные и исходные растровые изображения имеют не одинаковый цветовый формат, AlphaBlend преобразует исходный растровый рисунок в соответствие с растровым рисунком назначения.
AlphaBlend не поддерживает зеркальное отображение. Если ширина или высота источника или назначения отрицательные, этот вызов завершится ошибкой.
При отрисовке на принтере сначала вызовите GetDeviceCaps с SHADEBLENDCAPS, чтобы определить, поддерживает ли принтер смешивание с AlphaBlend. Обратите внимание, что для контроллера домена дисплея поддерживаются все операции смешения, и эти флаги показывают, ускоряются ли операции.
Если источник и назначение являются одной и той же поверхностью, т. е. это экран или одно и то же растровое изображение памяти, а исходный и конечный прямоугольники перекрываются, возникает ошибка и функция возвращает значение FALSE.
Исходный прямоугольник должен полностью находиться в исходной области, в противном случае возникает ошибка и функция возвращает значение FALSE.
AlphaBlend завершается ошибкой , если ширина или высота источника или назначения являются отрицательными.
Элемент SourceConstantAlphaобъекта BLENDFUNCTION задает значение прозрачности альфа, которое будет использоваться во всем исходном растровом рисунке. Значение SourceConstantAlpha сочетается с любыми значениями альфа-канала для каждого пикселя. Если sourceConstantAlpha имеет значение 0, предполагается, что изображение является прозрачным. Задайте для параметра SourceConstantAlpha значение 255 (это означает, что изображение непрозрачно), если требуется использовать только альфа-значения для каждого пикселя.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wingdi.h (включая Windows.h) |
Библиотека | Msimg32.lib |
DLL | Msimg32.dll |