Решил я выложить несколько скриптов, которые были написаны уже давно, но не выкладывались, ввиду их узкоспецифического назначения (я думал, что это мало кому нужно). Но теперь подумал, что, фиг его знает, может кому это и понадобится. Все они связаны с перекладыванием некоторых операций на горячие клавиши. Для тех, кто не знает, скрипт можно поместить в Action, (через "Insert menu item"), которому и назначить хоткей.
Работая в Фотошопе я привык к возможности увеличения/уменьшения диаметра кисти горячими клавишами. В илле такого нет, и я решил возместить это дело скриптом. Итак:
//скрипт увеличивает Stroke всех выделенных объектов на 0,5pt.
for(i=0;i<activeDocument.pageItems.length;i++){
obj=activeDocument.pageItems;
if(obj.selected){
try{
obj.strokeWidth+=0.5;
}catch(exc){
continue
}
}
}
//скрипт уменьшает Stroke всех выделенных объектов на 0,5pt.
for(i=0;i<activeDocument.pageItems.length;i++){
obj=activeDocument.pageItems;
if((obj.selected)&&(obj.strokeWidth)){
obj.strokeWidth-=0.5;
if(obj.strokeWidth<0){
obj.strokeWidth=0
}
}
}
Часто по работе мне приходится обрисовывать растровые картинки или логотипы. Работаю я таким образом: помещаю растровый рисунок на первый слой, а обрисовываю на втором. При надобности, всегда можно оставить видимым только нижний слой, или только верхний, или включить оба этих слоя. Что б не тыкать постоянно на палитре Layers, я решил связать это дело с горячими клавишами. Можно, конечно, всё это делать и через сохранённые Views, но они сохраняют и масштаб. Итак, вот эти скрипты:
// Делает видимым только первый слой
activeDocument.layers[activeDocument.layers.length-1].visible=true;
if(activeDocument.layers.length>1){
for(i=activeDocument.layers.length-2;i>=0;i--){
activeDocument.layers.visible=false;
}
}
// Делает видимым только второй слой
activeDocument.layers[activeDocument.layers.length-1].visible=false;
if(activeDocument.layers.length>1){
activeDocument.layers[activeDocument.layers.length-2].visible=true;
if(activeDocument.layers.length>2){
for(i=activeDocument.layers.length-3;i>=0;i--){
activeDocument.layers.visible=false;
}
}
}
// Делает видимыми оба слоя
activeDocument.layers[activeDocument.layers.length-1].visible=true;
if(activeDocument.layers.length>1){
activeDocument.layers[activeDocument.layers.length-2].visible=true;
}
Работая в Фотошопе я привык к возможности увеличения/уменьшения диаметра кисти горячими клавишами. В илле такого нет, и я решил возместить это дело скриптом. Итак:
//скрипт увеличивает Stroke всех выделенных объектов на 0,5pt.
for(i=0;i<activeDocument.pageItems.length;i++){
obj=activeDocument.pageItems;
if(obj.selected){
try{
obj.strokeWidth+=0.5;
}catch(exc){
continue
}
}
}
//скрипт уменьшает Stroke всех выделенных объектов на 0,5pt.
for(i=0;i<activeDocument.pageItems.length;i++){
obj=activeDocument.pageItems;
if((obj.selected)&&(obj.strokeWidth)){
obj.strokeWidth-=0.5;
if(obj.strokeWidth<0){
obj.strokeWidth=0
}
}
}
Часто по работе мне приходится обрисовывать растровые картинки или логотипы. Работаю я таким образом: помещаю растровый рисунок на первый слой, а обрисовываю на втором. При надобности, всегда можно оставить видимым только нижний слой, или только верхний, или включить оба этих слоя. Что б не тыкать постоянно на палитре Layers, я решил связать это дело с горячими клавишами. Можно, конечно, всё это делать и через сохранённые Views, но они сохраняют и масштаб. Итак, вот эти скрипты:
// Делает видимым только первый слой
activeDocument.layers[activeDocument.layers.length-1].visible=true;
if(activeDocument.layers.length>1){
for(i=activeDocument.layers.length-2;i>=0;i--){
activeDocument.layers.visible=false;
}
}
// Делает видимым только второй слой
activeDocument.layers[activeDocument.layers.length-1].visible=false;
if(activeDocument.layers.length>1){
activeDocument.layers[activeDocument.layers.length-2].visible=true;
if(activeDocument.layers.length>2){
for(i=activeDocument.layers.length-3;i>=0;i--){
activeDocument.layers.visible=false;
}
}
}
// Делает видимыми оба слоя
activeDocument.layers[activeDocument.layers.length-1].visible=true;
if(activeDocument.layers.length>1){
activeDocument.layers[activeDocument.layers.length-2].visible=true;
}