Alpha-переход

Alpha-переход используется, чтобы показать на экране α - битовый образ, который является точечным рисунком, где имеются прозрачные или полупрозрачные пиксели. В дополнение к красному, зеленому и синему каналам цвета, для каждого пикселя в α - битовом образе имеется компонент прозрачности, или как его называют α-канал. Обычно α -канал содержит столько же битов, что и канал цвета. Например, 8-разрядный α-канал может представить 256 уровней прозрачности, от 0 (полностью точечный рисунок прозрачен до 255 (полностью точечный рисунок непрозрачен).

Механизмы alpha-перехода запускаются при помощи вызова функции AlphaBlend, которая ссылается на структуру BLENDFUNCTION.

Alpha-значения на пиксель поддерживаются только для 32 - битов на пиксель (bpp) BI_RGB. Эта формула определяется как:

typedef struct {
  BYTE   Blue;
  BYTE   Green;
  BYTE   Red;
  BYTE   Alpha;
};

Оно представляется в памяти как показано в следующей ниже таблице.

Биты 31:24 23:16 15:08 07:00
Значение Alpha Красный Зеленый Синий

Точечные рисунки могут также показываться на экране с коэффициентом прозрачности, применяемым ко всему точечному рисунку. Любой растровый формат может быть показан на экране с общим константным alpha-значением при помощи установки SourceConstantAlpha в структуре BLENDFUNCTION. Общее постоянное alpha-значение имеет 256 уровней прозрачности, от 0 (весь точечный рисунок полностью прозрачен) до 255 (весь точечный рисунок полностью непрозрачен). Общее постоянное alpha-значение объединяется с alpha-значением на пиксель.

Пример, см в статье Создание α-перехода в точечном рисунке.

Назад в оглавление
На главную страницу

Hosted by uCoz