PureBasic

DrawAlphaImage()

Синтаксис

DrawAlphaImage(ImageID , x , y [, ConstAlpha])

Описание


Выводит изображение на текущую поверхность вывода графики, с эффектом наложения прозрачности (Alpha). Режим заполнения устанавливается с помощью DrawingMode(). Текущая поверхность устанавливается с помощью StartDrawing().

Параметры

ImageID Идентификатор изображения. Корректный идентификатор 'ImageID' можно получить с помощью функции ImageID().
x, y Положение верхнего левого угла изображения на текущей поверхности вывода.
ConstAlpha (дополн.) Уровень прозрачности, значение которого может быть в диапазоне от 0 (полностью прозрачно) до 255 (полностью непрозрачно). Таким способом можно выводить изображения с эффектом прозрачности, даже если они не содержат канала Alpha.

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

Ничего.

Комментарии

Эта команда работает со всеми поверхностями вывода графики, даже теми, которые не поддерживают 'alpha-blending' флаги в DrawingMode(). Изображение будет выведено в его первоначальном размере. Для изменения размеров изображения, можно использовать функцию ResizeImage().

Эта команда не может быть использована для отображения иконки (загруженной из файла. *.ico).

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

If OpenWindow(0, 0, 0, 200, 200, "DrawImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    If CreateImage(0, 200, 200, 32) And StartDrawing(ImageOutput(0))
        DrawingMode(#PB_2DDrawing_AlphaChannel) ; Черный прозрачный
        Box(0, 0, 200, 200, $00000000)
        DrawingMode(#PB_2DDrawing_AlphaBlend)
        DrawText(60, 80, "CLIQUER !", RGBA(0, 255, 0, 255), RGBA(0, 0, 0, 0))
        StopDrawing()
        ImageGadget(0, 0, 0, 200, 200, ImageID(0))
    EndIf
    If CreateImage(1, 100, 50, 32) And StartDrawing(ImageOutput(1))
        DrawingMode(#PB_2DDrawing_AlphaChannel) ; Черный прозрачный
        Box(0, 0, 100, 50, $00000000)
        DrawingMode(#PB_2DDrawing_AlphaBlend)
        DrawText(0, 0, "PUREBASIC", RGBA(255, 0, 0, 128), RGBA(0, 0, 0, 0))
        StopDrawing()
    EndIf
    Repeat
        Event = WaitWindowEvent()
        If Event = #PB_Event_Gadget
            StartDrawing(ImageOutput(0))
            DrawingMode(#PB_2DDrawing_AlphaBlend)
            x=WindowMouseX(0)
            y=WindowMouseY(0)
            DrawImage(ImageID(1), x, y)
            StopDrawing()
            SetGadgetState(0, ImageID(0))
        EndIf

    Until Event = #PB_Event_CloseWindow
EndIf

См. также

DrawImage(), ImageID()

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

Все

<- CustomGradient() - Оглавление 2D Drawing - DrawImage()->

��t6�