Поделиться через


Функция GdiAlphaBlend (wingdi.h)

Функция GdiAlphaBlend отображает точечные изображения с прозрачными или полупрозрачными пикселями.

Синтаксис

BOOL GdiAlphaBlend(
  [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.

Эта функция может возвращать следующее значение.

Код возврата Описание
ERROR_INVALID_PARAMETER
Один или несколько входных параметров недопустимы.

Комментарии

Примечание Эта функция аналогична AlphaBlend.
 
Если исходный прямоугольник и прямоугольник назначения имеют разный размер, то исходное растровое изображение растягивается в соответствии с прямоугольником назначения. Если используется функция SetStretchBltMode , значение iStretchMode автоматически преобразуется в COLORONCOLOR для этой функции (то есть BLACKONWHITE, WHITEONBLACK и HALFTONE меняется на COLORONCOLOR).

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

Если контекст исходного устройства определяет расширенный контекст устройства метафайла, возникает ошибка (и функция возвращает значение FALSE).

Если точечные изображения назначения и исходные растровые изображения имеют разный цветовой формат, GdiAlphaBlend преобразует исходное растровое изображение в соответствие с растровым рисунком назначения.

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

При отрисовке на принтере сначала вызовите GetDeviceCaps с SHADEBLENDCAPS, чтобы определить, поддерживает ли принтер смешивание с GdiAlphaBlend. Обратите внимание, что для контроллера домена дисплея поддерживаются все операции смешения, и эти флаги показывают, ускорены ли операции.

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

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

GdiAlphaBlend завершается сбоем, если ширина или высота исходного или целевого объекта являются отрицательными.

Элемент SourceConstantAlphaобъекта BLENDFUNCTION указывает значение альфа-прозрачности, которое будет использоваться для всего исходного растрового изображения. Значение SourceConstantAlpha объединяется с любыми альфа-значениями для каждого пикселя. Если sourceConstantAlpha имеет значение 0, предполагается, что изображение является прозрачным. Задайте для параметра SourceConstantAlpha значение 255 (что означает, что изображение непрозрачно), если требуется использовать только альфа-значения для каждого пикселя.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header wingdi.h (включая Windows.h)
Библиотека Gdi32.lib
DLL Gdi32.dll

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

BLENDFUNCTION

Функции точечных рисунков

Общие сведения о точечных изображениях

EMRALPHABLEND

GetDeviceCaps

SetStretchBltMode