PureBasic

ResizeImage()

Синтаксис

Result = ResizeImage(#Image , Width , Height [, Mode])

Описание


Изменяет размеры изображения на указанные значения.

Параметры

#Image Номер, идентифицирующий изображение, размеры которого требуется изменить.
Width, Height Новые размеры изображения. Ширина и высота должны быть больше нуля. Константу #PB_Ignore можно указать для ширины или высоты, таким образом, это значение не будет изменено.
Mode (дополн.) Метод изменения размера. Этот параметр может быть одним из следующих значений:
  #PB_Image_Smooth: Изменение размера изображения с интерполяцией  (по умолчанию).
  #PB_Image_Raw   : Изменение размера изображения без интерполяции.

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

Возвращает не нулевое значение, если операция прошла успешно, в противном случае ноль.

Комментарии

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

Эта функция не работает с изображениями значков (.ico). В данном вопросе может помочь функция DrawImage() из библиотеки 2D Drawing.

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

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

If OpenWindow(0, 0, 0, 426, 128, "ResizeImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ImageGadget(0, 0, 0, 128, 128, LoadImage(0, #PB_Compiler_Home+"Examples\Sources\Data\GeeBee2.bmp"))
    ButtonGadget(1, 138, 50, 150, 30, "Уменьшить картинку->")
    ImageGadget(2, 298, 0, 128, 128, 0)

    Repeat
        Event = WaitWindowEvent()
        If Event = #PB_Event_Gadget
            Select EventGadget()
                Case 1
                    CopyImage(0, 1)
                    ResizeImage(1, 64, 64); Обрезка изображения
                    SetGadgetState(2, ImageID(1)) ; Просмотр
            EndSelect
        EndIf
    Until Event = #PB_Event_CloseWindow
EndIf

См. также

ImageWidth(), ImageHeight()

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

Все

<- RemoveImageFrame() - Оглавление Image - SaveImage()->