Помогите создать скрипт

  • Автор темы Автор темы DimRo
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

DimRo

Участник
Топикстартер
Сообщения
17
Реакции
1
Ребят, помогите создать скрипт, который выделяет все анкорные изображения в текстовом фрэйме, применяет к ним стиль, и делает фикс ширины (пропорционально высоте) буду очень благодарен.
 
Помогите хоть в каком направлении копать, не писал раньше скриптов. А может есть скрипт или плагин, который сможет выделить сразу все анкорные картинки?
 
Вот набросал так как понял задание (не тестировал, нет времени):

Код:
STYLE = app.documents[0].objectStyles.item( 'имя_моего_стиля' );

graphics = app.selection[0].graphics;
for( i = 0; i < graphics.length; i++ ){
    graphics[i].parent.applyObjectStyle( STYLE ), true );
    graphics[i].horizontalScale = graphics[i].verticalScale;
    graphics[i].parent.fit( 1718906723 );// FitOptions.frameToContent
    }

Вместо 'имя_моего_стиля' впишешь имя своего стиля
 
  • Спасибо
Реакции: DimRo
Вот набросал так как понял задание (не тестировал, нет времени):

Код:
STYLE = app.documents[0].objectStyles.item( 'имя_моего_стиля' );

graphics = app.selection[0].graphics;
for( i = 0; i < graphics.length; i++ ){
    graphics[i].parent.applyObjectStyle( STYLE ), true );
    graphics[i].horizontalScale = graphics[i].verticalScale;
    graphics[i].parent.fit( 1718906723 );// FitOptions.frameToContent
    }

Вместо 'имя_моего_стиля' впишешь имя своего стиля
:( http://img842.imageshack.us/img842/2442/sap5.png
 
замени эту строку
Код:
graphics[i].parent.applyObjectStyle( STYLE, true );
 
замени строку
Код:
graphics = app.selection[0].getElements()[0].allGraphics;
 
  • Спасибо
Реакции: DimRo
замени строку
Код:
graphics = app.selection[0].getElements()[0].allGraphics;
О теперь нет ошибок! Но как изменить принудительно ширину картинки допустим до 40мм (сам фрэйм картинки), и высота чтоб пропорционально под нее подстроилась, ну и сама картинка чтоб сделалась fit content proportionaly? ':=)'
 
Код:
STYLE = app.documents[0].objectStyles.item( 'имя_моего_стиля' );
NEW_WIDTH = 40; // новое значение ширины

graphics = app.selection[0].getElements()[0].allGraphics;
for( i = 0; i < graphics.length; i++ ){
    graphics[i].parent.applyObjectStyle( STYLE, true );
    scale = NEW_WIDTH / (graphics[i].parent.visibleBounds[3]-graphics[i].parent.visibleBounds[1]);
    graphics[i].parent.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.TOP_LEFT_ANCHOR, app.transformationMatrices.add({horizontalScaleFactor:scale, verticalScaleFactor:scale}), undefined, false);
    }
 
  • Спасибо
Реакции: DimRo
Код:
STYLE = app.documents[0].objectStyles.item( 'имя_моего_стиля' );
NEW_WIDTH = 40; // новое значение ширины

graphics = app.selection[0].getElements()[0].allGraphics;
for( i = 0; i < graphics.length; i++ ){
    graphics[i].parent.applyObjectStyle( STYLE, true );
    scale = NEW_WIDTH / (graphics[i].parent.visibleBounds[3]-graphics[i].parent.visibleBounds[1]);
    graphics[i].parent.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.TOP_LEFT_ANCHOR, app.transformationMatrices.add({horizontalScaleFactor:scale, verticalScaleFactor:scale}), undefined, false);
    }
Спасибо огромное, вроде все работает как надо!!! Большое спасибо) я тоже так хочу)
А не могли бы вы посоветовать как лучше всего начать хоть немногго в скриптах разбираться, может ест ькакой-то самоучитель, наиболее легкий для усвоения?
 
Статус
Закрыто для дальнейших ответов.