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
Все