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