PureBasic

Alpha()

Синтаксис

Result = Alpha(Color)

Описание


Возвращает значение компонента alpha (прозрачности) выбранного цвета.

Параметры

Color Значение цвета. Должно быть 32-разрядным значением RGBA().

Возвращаемое значение

Возвращает значение компонента alpha. Результатом будет число от 0 до 255. Значение 0 полностью прозрачный цвет, а значение 255 полностью непрозрачный цвет.

Комментарии

Для того, чтобы получить 32-разрядный цвет RGBA, необходимо с помощью функции RGBA() объединить значения red, green, blue и alpha. Эти функции полезны для операций связанных с рисованием.

Пример (Фран)

If OpenWindow(0, 0, 0, 200, 200, "Alpha", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
    If CreateImage(0, 800, 600, 32) And StartDrawing(ImageOutput(0)) ; создаём черный фоновый рисунок по умолчанию.
        DrawingMode(#PB_2DDrawing_AlphaChannel) ; Альфа-канал (прозрачность) будет изменен.
        Box(0, 0, 200, 200, $00000000) ; черный полностью прозрачен

        DrawingMode(#PB_2DDrawing_AlphaBlend) ; чертеж будет объединен с фоном, используя альфа-канал для управления прозрачностью каждого пикселя
        Circle(75, 75, 50, RGBA(255, 0, 0, 64)) ; очень прозрачный красный круг
        Circle(125, 75, 50, RGBA(0, 255, 0, 128)) ; умеренно прозрачный зеленый круг
        Circle(100, 125, 50, RGBA(0, 0, 255, 192)) ; немного прозрачный синий круг
        DrawText(20, 180, "Нажмите на созданный рисунок") ; Текст без прозрачности
        StopDrawing()
    EndIf

    ImageGadget(0, 0, 0, 0, 0, ImageID(0)) ; Отображение дизайна внутри Гаджета

    Repeat
        Event = WaitWindowEvent(0)
        If  Event = #PB_Event_Gadget And EventType() = #PB_EventType_LeftClick
            x = WindowMouseX(0)
            y = WindowMouseY(0)
            If Bool(x>0  And y>0)
                StartDrawing(ImageOutput(0))
                DrawingMode(#PB_2DDrawing_AlphaBlend)
                Couleur = Point(x, y)
                Transparence = Alpha(Couleur)
                Debug "Компонент Прозрачность : " + Str(Transparence)
                StopDrawing()
            EndIf
        EndIf
    Until Event = #PB_Event_CloseWindow
EndIf

См. также

Red(), Green(), Blue(), RGBA()

Поддерживаемые OS

Все

Оглавление 2D Drawing - AlphaBlend() ->