А как у Вас это решается? Линии технически — это, получается, прямоугольники? Или толщину линий можно оставлять одинаковой? С остальным вопросов нет, скрипт можно сделать.Высота пропорциональна высоте фрейма.
#targetengine "fotoLines"
var w = new Window("palette");
var but = w.add("button",undefined,"линии для фото");
but.onClick = function(){
try{
var doc = app.activeDocument;
app.scriptPreferences.measurementUnit = MeasurementUnits.MILLIMETERS;
var img = doc.selection[0];
var gb = img.geometricBounds;
var lin = [];
for (i=0;i<=2;i=i+2){
lin[i] = img.parentPage.rectangles.add();
lin[i].appliedObjectStyle = doc.objectStyles.item("fotoLine");
lin[i].geometricBounds = [gb[i]-i, gb[1], gb[i]-i+2, gb[3]];
}
doc.groups.add([lin[0],lin[2],img]).select();
}
catch(e){alert(e.description);}
}
w.show();
За что?извиняюсь
Поправил код в 6-м посте.чтобы в конце вся конструкция группировалась
Ну тема-то не моя, вроде как влез со своей просьбой...За что?
#targetengine "PhotoLines"
var doc = app.activeDocument;
app.scriptPreferences.measurementUnit = MeasurementUnits.MILLIMETERS;
var img = doc.selection[0];
var gb = img.geometricBounds;
var lin = [];
for (i=0;i<=2;i=i+3){
lin[i] = img.parentPage.rectangles.add();
lin[i].appliedObjectStyle = doc.objectStyles.item("PhotoLines");
lin[i].geometricBounds = [gb[i]-i, gb[1], gb[i]-i+2, gb[3]];
}
lin.geometricBounds = [gb-i, gb[1], gb-i+2, gb[3]];
var k = 1.5; //ТОЛЩИНА ЗАДАЁТСЯ ЗДЕСЬ
var doc = app.activeDocument;
app.scriptPreferences.measurementUnit = MeasurementUnits.MILLIMETERS;
var img = doc.selection[0];
var gb = img.geometricBounds;
var lin = [];
lin[0] = img.parentPage.rectangles.add({
appliedObjectStyle:doc.objectStyles.item("PhotoLines"),
geometricBounds: [gb[0], gb[1], gb[0]+k, gb[3]]
});
lin[1] = img.parentPage.rectangles.add({
appliedObjectStyle:doc.objectStyles.item("PhotoLines"),
geometricBounds: [gb[2]-k, gb[1], gb[2], gb[3]]
});
doc.groups.add([lin[0],lin[1],img]).select();
А откуда взялось i=i+3? Было ж i=i+2
Код:var k = 1.5; //ТОЛЩИНА ЗАДАЁТСЯ ЗДЕСЬ var doc = app.activeDocument; app.scriptPreferences.measurementUnit = MeasurementUnits.MILLIMETERS; var img = doc.selection[0]; var gb = img.geometricBounds; var lin = []; img.parentPage.rectangles.add({ appliedObjectStyle:doc.objectStyles.item("PhotoLines"), geometricBounds: [gb[0], gb[1], gb[0]+k, gb[3]] }); img.parentPage.rectangles.add({ appliedObjectStyle:doc.objectStyles.item("PhotoLines"), geometricBounds: [gb[2]-k, gb[1], gb[2], gb[3]] });
#targetengine "PhotoLines"
var doc = app.activeDocument;
app.scriptPreferences.measurementUnit = MeasurementUnits.MILLIMETERS;
var img = doc.selection[0];
var gb = img.geometricBounds;
var lin = [];
for (i=0;i<=2;i=i+2){
lin[i] = img.parentPage.rectangles.add();
lin[i].appliedObjectStyle = doc.objectStyles.item("PhotoLines");
lin[i].geometricBounds = [gb[i]-i, gb[1], gb[i]-i+1, gb[3]];
}