Функция 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

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

BLENDFUNCTION

Функции растрового рисунка

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

EMRALPHABLEND

GetDeviceCaps

SetStretchBltMode