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


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