[AI CS4-CS6] Перемещение объекта с Opacity mask

Gad

Сообщения
2 975
Реакции
1 408

Не по теме:
Перевставление через клипбоард портит код сильнее ;)
Вангую что лажать с координатами будет по черному, вдобавок, копипаст системнозависим и нетороплив
Ну я просто искал другой способ :) И сразу предупредил что он заднепроходен :) Но раз уж сам предложил, попробую выяснить насколько...

 

hhandy

Участник
Топикстартер
Сообщения
38
Реакции
0
Через клипборд, вырезать вставить, перед этим поставив doc.views[0].centerPoint = [x,y] x,y - координаты куда он его влепит на артборде :)
Спасибо за предложение, точно нет, но вы можете попробовать :)

Через генерируемый экшн все ж проще
Каким образом это делается, можете объяснить?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Типа такого
 
  • Спасибо
Реакции: hhandy

Gad

Сообщения
2 975
Реакции
1 408
Спасибо за предложение, точно нет, но вы можете попробовать
JavaScript:
bufferShift(100,50)

function bufferShift(dx,dy) {
    var doc = app.activeDocument;
    var vcp = doc.views[0].centerPoint
    var gb0 = new Array();
    var gb1 = new Array();
    var gb2 = new Array();
    var gb3 = new Array();
for ( i = 0; i < doc.selection.length; i++ ) {  
    gb0[i] = doc.selection[i].geometricBounds[0]
    gb1[i] = doc.selection[i].geometricBounds[1]
    gb2[i] = doc.selection[i].geometricBounds[2]
    gb3[i] = doc.selection[i].geometricBounds[3]
}
    x = (Math.min.apply(null, gb0) + Math.max.apply(null, gb2))/2 + dx
    y = (Math.min.apply(null, gb1) + Math.max.apply(null, gb3))/2 - dy
    doc.views[0].centerPoint = [x,y];
    app.cut();
    app.paste();
    doc.views[0].centerPoint = vcp
}
Уже :) С точностью проблем нет :) В остальном... клипборд штука такая :)
 
  • Спасибо
Реакции: dumbm1

hhandy

Участник
Топикстартер
Сообщения
38
Реакции
0
Спасибо, поизучаю на досуге