PureBasic

CreateImage()

Синтаксис

Result = CreateImage(#Image , Width , Height [, Depth [, BackColor]])

Описание


Создаёт пустое изображение (с черным фоном), которое можно использовать в качестве поверхности для вывода графики и рендеринга.

Параметры

#Image Номер, идентифицирующий новое изображение. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.
Width, Height Размеры нового изображения. И ширина, и высота должны быть больше нуля.
Depth (дополн.) Глубина цвета для нового изображения. Допустимыми значениями могут быть: 24 и 32. По умолчанию используется 24-бит, если не указана глубина.
BackColor (дополн.) Цвет фона в формате RGB(), используемый при создании изображения. Чтобы создать изображение с альфа-каналом установленным на полную прозрачность, вместо значения в формате RGB() можно использовать константу #PB_Image_Transparent. Это повлияет только на создание 32-битного изображения. Если параметр вовсе не указан, то цвет по умолчанию - черный.

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

Возвращает не нулевое значение, если изображение было успешно создано, в противном случае ноль. Если в качестве параметра #Image использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.

Комментарии

Предел для размера изображения, которое может быть обработано, зависит от операционной системы и доступного объема памяти. Если доступно достаточное количество памяти, то изображения с размером до 8192x8192 пикселей могут обрабатываться всеми операционными системами, поддерживаемыми PureBasic.

Вы можете использовать ещё несколько функций для работы с созданным изображением:
StartDrawing() с ImageOutput() -- для рисования на созданном изображении
StartVectorDrawing() с ImageVectorOutput() -- для рисования на созданном изображении используя библиотеку векторной графики
CopyImage() -- для создания копии существующего изображения
GrabImage() -- для создания другого изображение из указанной области существующего изображения
DrawImage() с ImageID() -- для вывода изображения на текущей поверхности вывода.
ImageGadget() -- для отображения изображения в окне приложения
ButtonImageGadget() -- для создания кнопки с изображением в окне приложения

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

If OpenWindow(0, 0, 0, 256, 256, "CreateImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ImageGadget(0, 0, 0, 256, 256, 0)

    If CreateImage(0, 256, 256, 32, RGB(255, 255, 255))
        StartDrawing(ImageOutput(0))
        Ellipse(70, 50, 30, 10, RGB(0, 0, 255))
        Ellipse(186, 50, 30, 10, RGB(0, 0, 255))
        LineXY(128, 80, 128, 150, RGB(255, 0, 255))
        RoundBox(70, 200, 110, 30, 20, 20, RGB(255, 0, 0))
        StopDrawing()
    EndIf

    SetGadgetState(0, ImageID(0)) ; Просмотр

    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

См. также

LoadImage(), CatchImage(), FreeImage()

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

Все

<- CopyImage() - Оглавление Image - EncodeImage()->