Команды управления изображениями

Основные особенности команд управления изображениями:
  • замена изображений в растровом объекте и активной области
  • просмотр изображений в отдельном окне
  • изменение размера, поворот, управление масштабом изображений
Примеры использования нижеприведенных команд можно найти в файлах test_image.mbd, ImageDemo.mbd или clock_3.mbd.


ViewImage("Путь","Параметры")
Пояснение
Отображает внешний JPEG или BMP-файл в отдельном окне.


Первый параметр задает имя файла и должен состоять либо из

а) путь к файлу + имя файла, либо
б) макропуть + имя файла

Второй параметр необязательный, он используется для выравнивания окна изображения по центру экрана:

CENTER
Примеры
** Просмотр файла NewImage.jpg, находящегося в каталоге C:\My Project
ViewImage("C:\My Project\NewImage.jpg","")

** Просмотр файла NewImage.bmp, находящегося в каталоге <SrcDir>, с выравниванием окна по центру экрана
ViewImage("<SrcDir>\NewImage.bmp","CENTER")
Дополнительная информация
Координаты окна изображения сохраняются и используются при следующем открытии изображения, если второй параметр (CENTER) не задан.



ReplaceImage("ИмяОбъекта","Путь")
Пояснение
Заменяет текущее изображение в указанном растровом объекте, прямоугольной или многоугольной активной области на изображение из внешнего файла JPG или BMP.


Чтобы задать имя объекта, используйте первый параметр, например:

MainImage

Второй параметр задает имя файла и должен состоять либо из

а) путь к файлу + имя файла, либо
б) макропуть + имя файла
Примеры
** Замена изображения в растровом объекте MainImage на изображение из файла C:\My Project\NewImage.jpg
ReplaceImage("MainImage","C:\My Project\NewImage.jpg")

** Загружает в активную область ColdSpot изображение из файла <SrcDir>\HotImage.bmp
ReplaceImage("ColdSpot","<SrcDir>\HotImage.bmp")
Дополнительная информация
Использование этой команды без указания второго параметра удалит изображение в заданном объекте:

ReplaceImage("FacePicture","")

В предыдущих версиях (4.9 и ниже) использование команды ReplaceImage по отношению к активной области приводило к изменению ее размеров в соответствии с размерами изображения. Начиная с версии 4.9.5, ReplaceImage оставляет размеры активной области неизменными, а размеры изображения изменяются в соответствии с размерами области. Если вы хотите добиться обратного результата, используйте команду RestoreImage("HotSpot") сразу после команды ReplaceImage.



UseImageBkgColor("ИмяОбъекта","Параметры")
Пояснение
Управляет состоянием фона растрового объекта. Если фон используется, то растровый объект заполняется цветом фона перед прорисовкой изображения.


Чтобы задать имя объекта, используйте первый параметр, например:

MyImage

Второй параметр включает или отключает отображение фона:
  • 1 : отображение фона включено
  • 0 : отображение фона выключено
Примеры
** Включает отображение фона для растрового объекта MyImage
UseImageBkgColor("MyImage","1")

** Выключает отображение фона для растрового объекта MyImage
UseImageBkgColor("MyImage","0")
Дополнительная информация
Чтобы задать цвет фона, используйте команду SetImageBkgColor.



SetImageBkgColor("ИмяОбъекта","R,G,B")
Пояснение
Задает цвет фона изображения.


Чтобы задать имя объекта, используйте первый параметр, например:

BigImage

Настройка цвета осуществляется с помощью системы RGB, состоящей из 3 компонентов: Красный (Red), Зеленый (Green), Синий (Blue).

Каждый из компонентов может быть задан одним из 256 уровней. Чем больше значение уровня, тем больше интенсивность соответствующего компонента. Если вы укажете значение 0, то данный компонент использоваться не будет. Значение 255 указывает на максимальную интенсивность цвета.

Параметр цвета для команды SetImageBkgColor является строковым массивом из трех разделенных запятыми элементов, представляющих цвета RGB в диапазоне значений 0 - 255.

R,G,B Результат
128,5,64  

R,G,B Результат
0,255,255  

Пример второго параметра:

150,79,205

В полном виде команда выглядит так:

SetImageBkgColor("BigImage","150,79,205")

Вы также можете задавать цвет с помощью строковой переменной:

color$='150,79,205'
SetImageBkgColor("BigImage","color$")
Примеры
** Задает синий фон для изображения BigImage
SetImageBkgColor("BigImage","0,0,255")

** Задает красный фон для изображения BigImage с помощью строковой переменной
color$='255,0,0'
SetImageBkgColor("BigImage","color$")



SetImageOrigin("ИмяОбъекта","X,Y")
Пояснение
Задает опорную точку относительно левого верхнего угла изображения, которая будет использоваться при изменении размеров и повороте изображения.

Обе операции будут выполняться относительно этой точки.


Чтобы задать имя объекта, используйте первый параметр, например:

RotoImage

Второй параметр состоит из двух координат:

Горизонтальная координата (X), например:

80

Вертикальная координата (Y), например:

30

Координаты во втором параметре разделяются запятой, и в полном виде команда выглядит так:

SetImageOrigin("RotoImage","80,30")
Пример
** Задает опорную точку с координатами 154 (X), 84 (Y) для объекта RotoImage
SetImageOrigin("RotoImage","154,84")



ResizeImage("ИмяОбъекта","W,H")
Пояснение
Изменяет изображение до заданного размера относительно опорной точки.

Это простой пример изменения размера изображения относительно опорной точки, заданной по умолчанию:


И пример, показывающий, как изменить размер изображения относительно нижнего правого угла.


Чтобы задать имя объекта, используйте первый параметр, например:

AlterImage

Второй параметр состоит из двух координат:

Горизонтальная координата (длина), например:

80

Вертикальная координата (высота), например:

30

Координаты во втором параметре разделяются запятой, и в полном виде команда выглядит так:

ResizeImage("AlterImage","80,30")
Примеры
** Изменение размера изображения в объекте AlterImage
ResizeImage("AlterImage","80,30")

** Изменение размера изображения в объекте AlterImage относительно правого нижнего угла изображения
IW=ImageWidth(AlterImage)
IH=ImageHeight(AlterImage)
SetImageOrigin("AlterImage","IW,IH")
ResizeImage("AlterImage","IW/2,IH/2")



RotateImageRel("ИмяОбъекта","Угол")
Пояснение
Поворачивает изображение относительно текущего угла поворота.


Чтобы задать имя объекта, используйте первый параметр, например:

RotoImage

Второй параметр задает относительный угол поворота в градусах.

Значение может быть как положительным, так и отрицательным. Например:

80 - поворот изображения на 80 градусов по часовой стрелке

-80 - поворот изображения на 80 градусов против часовой стрелки
Примеры
** Поворот изображения RotoImage на 45 градусов по часовой стрелке относительно текущего положения
RotateImageRel("RotoImage","45")

** Поворот изображения RotoImage на 45 градусов против часовой стрелки относительно текущего положения
RotateImageRel("RotoImage","-45")



RotateImageTo("ИмяОбъекта","Угол")
Пояснение
Выполняет абсолютный поворот изображения, начиная с 0 градусов (начальное положение изображения).


Чтобы задать имя объекта, используйте первый параметр, например:

RotoImage

Второй параметр задает абсолютный угол поворота в градусах.

Значение может быть как положительным, так и отрицательным. Например:

80 - поворот изображения на 80 градусов по часовой стрелке

-80 - поворот изображения на 80 градусов против часовой стрелки
Примеры
** Поворот изображения RotoImage на 45 градусов по часовой стрелке относительно 0
RotateImageTo("RotoImage","45")

** Поворот изображения RotoImage на 45 градусов против часовой стрелки относительно 0
RotateImageTo("RotoImage","-45")



ScrollImageView("ИмяОбъекта","X,Y")
Пояснение
Задает отображаемую часть изображения, используя координаты, указанные в качестве второго параметра. Эта команда используется, когда размеры изображения не совпадают с размерами растрового объекта (контейнера изображения).


Чтобы задать имя объекта, используйте первый параметр, например:

BigImage

Второй параметр задает координаты верхнего левого угла отображаемой части изображения.

Когда изображение меньше растрового объекта, используйте положительные координаты, чтобы перемещать отображаемую часть вправо (X) и вниз (Y).

Пример положительной горизонтальной (X) координаты:

80

Пример положительной вертикальной (Y) координаты:

30

Когда изображение больше растрового объекта, используйте отрицательные координаты, чтобы перемещать отображаемую часть влево (X) и вверх (Y).

Пример отрицательной горизонтальной (X) координаты:

-80

Пример отрицательной вертикальной (Y) координаты:

-30

Координаты во втором параметре разделяются запятой, и в полном виде команда выглядит так:

ScrollImageView("BigImage","-80,-30")
Примеры
** Отображение части изображения BigImage с координатами верхнего левого угла -130 (X), -80 (Y)
ScrollImageView("BigImage","-130,-80")

** Отображение части изображения SmallImage с координатами верхнего левого угла 30 (X), 80 (Y)
ScrollImageView("SmallImage","30,80")
Дополнительная информация
Чтобы получить текущие значения координат левого верхнего угла изображения, используйте функции ImageScrollX и ImageScrollY.



ZoomImageView("ИмяОбъекта","Масштаб")
Пояснение
Увеличивает или уменьшает масштаб отображения указанного изображения.


Чтобы задать имя объекта, используйте первый параметр, например:

MapImage

Второй параметр задает масштаб. Значение по умолчанию - 100. Вы можете использовать как большее, так и меньшее значение.

Уменьшение масштаба изображения до 80%:

80

Увеличение масштаба изображения до 150%:

150
Примеры
** Уменьшение масштаба изображения MapImage до 50%
ZoomImageView("MapImage","50")

** Увеличение масштаба изображения MapImage до 200%
ZoomImageView("MapImage","200")



RestoreImage("ИмяОбъекта")
Пояснение
Восстанавливает исходное состояние изображения.


Чтобы задать имя объекта, используйте первый параметр, например:

AlterImage

Внимание! Команда RestoreImage возвращает изображение в состояние, которое является последним сохраненным оригиналом в редакторе, если вы не воспользовались командой "Файл" ("File") - "Уменьшение размера" ("Reduce Size") для удаления резервных копий изображения. В противоположном случае команда отменяет только те изменения изображения, которые были выполнены во время выполнения вашего приложения с помощью команд скриптов.
Пример
** Восстановление изображения AlterImage
RestoreImage("AlterImage")



ImageOpacity("ИмяОбъекта","Непрозрачность")
Пояснение
Задает степень непрозрачности изображения.


Задайте значение непрозрачности 0, если хотите получить полностью прозрачное изображение и 100, чтобы сделать объект полностью непрозрачным.
Примеры
** Делает изображение наполовину прозрачным
ImageOpacity("Image","50")

** Делает изображение полностью прозрачным
opacity=0
ImageOpacity("Image","opacity")

MMB Программирование без границ :: dgilmour, перевод на русский язык, 2006 :: Все права защищены :: www.mmbscript.ru