FAQ по скриптам APS (aNNiMON Pro Script)
В версии ProPaintMobile 1.8 добавил поддержку aps скриптов. Они служат для облегчения выполнения некоторых операций. Например чтобы каждый раз не рисовать в картинке рамку, можно просто создать aps-скрипт, в котором будет рисоваться эта рамка и прописать путь к необходимой картинке. Затем просто меняя путь к картинке можно проводить эти же операции и с другими изображениями.
Синтаксис APS-Скрипта
Синтаксис очень прост: Команда, параметры (всё это разделяется пробелом) и символ ;
Например "line 0 0 100 20;" нарисует на картинке линию от P1=(0,0) и P2=(100,20).
Каждый скрипт должен начинаться с получения объекта для рисования.
Если это картинка, то прописываем "open path_to_file;" например "open file:///c:/image/img1.png;".
Если нам нужно рисовать на чистом листе, тогда пригодится команда "create width height;" например "create 100 200;". Создастся картинка размером 100x200.
Если мы хотим редактировать уже открытый в PPM рисунок, то подгрузить его для редактирования нам поможет команда "keep;"
После этого уже можно переходить к рисованию на этом объекте.
Следует также заметить, что после создания картинки в последующих командах можно применять переменные "w" и "h". w - ширина картинки, h-высота.
Например такой скрипт:
create 240 320;
color1 00;
fillrect 0 0 w h;
закрасит полностью наш чистый лист черным цветом. Такое примение куда более правильнее, чем fillrect 0 0 240 320; ведь в таком случае при открытии картинки из файловой системы мы не будем знать зараннее её размер.
Далее привожу список команд, их синтаксис и назначение:
"create w h;" - создание новой картинки с шириной w и высотой h с белым фоном. Пример "create 240 320;"
"keep;" -получение редактируемой картинки.
"open path;" - открывает картинку из файловой системы по адресу path. Пример "open file:///c:/image/img1.png;"
"color1 clr;" - задать передний цвет clr. Цвет задается только в шестнадцатиричном представлении. Пример "color1 FF00AA88;"
"color2 clr;" - аналогично, только задается задний цвет.
"getcolor1 x y;" - аналогично инструменту Пипетка, то есть получает цвет в точке с координатой (x,y) и присваевает переднему цвету. Пример "getcolor1 220 h;"
"getcolor2 x y;" - аналогично, только присваевается заднему цвету.
"stroke st;" - задать толщину линий st. Особенностью применения толщины в скриптах является то, что здесь размер неограничен, в то время как в PPM есть ограничение. Пример "stroke 88;"
"drawrect x y w h;" - рисует прямоугольник. Пример "drawrect 10 10 20 20;"
"fillrect x y w h;" - рисует закрашенный прямоугольник.
"drawarc x y w h e1 e2;" - рисует эллипс с углом дорисовки e1, e2 (при e1=0, e2=360 эллипс рисуется полностью, при значениях меньше рисуется сектор и т.д). Пример "drawarc 10 10 20 20 0 360;"
"fillarc x y w h e1 e2;" - рисует закрашенный эллипс.
"line x1 y1 x2 y2;" - рисует линию от точки (x1, y1) до (x2, y2). Пример "line 10 10 w h;"
"fordrawrect var from to step x y w h;" - рисует прямоугольник в цикле FOR с переменной var, начиная от from до to, с шагом step. Пример "fordrawrect i 0 h 5 0 0 20 h;" - аналогично этому (for(int i=0 to h step 5) drawrect(0,0,20,h)
"forline var from to step x1 y1 x2 y2;" - аналогично fordrawrect, только рисуется линия.
"fillarea x1 y1;" - заливка области, которой принадлежит точка (x1, y1). Пример "fillarea 10 67;"
"fillbg x1 y1;" - фоновая заливка области, которой принадлежит точка (x1, y1). Пример "fillbg 10 67;"
"cell x y w h size;" - рисует шахматные клеточки с размером size. Пример "cell 0 10 w 60 5;"
"grad x y w h type;" - рисует градиент. Параметр type - тип градиента: 0 - горизонтальный, 1 - вертикальный, 2 - радиальный, 3 - прямоугольный и т.д. Пример "grad 0 0 w h 8;"
Также хочу заметить, что операторы регистронезависимы. То есть "fOrDrAwReCt", "FORDRAWRECT" и "fordrawrect" это одно и то же.
Автор статьи: aNNiMON
19.01.2010