myLabelsColumn2.staticTexts.add() ;

myLabelsColumn2.staticTexts.add({staticLabel:"Horizontal Scale:"}); myLabelsColumn2.staticTexts.add({staticLabel:"Vertical Scale:"));

myLabelsColumn2.staticTexts.add(); myLabelsColumn2.staticTexts.add();

myLabelsColumn2.staticTexts.add({staticLabel:"Proxy:"}); myControlsColumn2 = myDialog.dialogColumns.add(); myControlsColumn2.staticTexts.add(); myControlsColumn2.staticTexts.add();

myStrokeWeightField = myControlsColumn2.measurementEditboxes.add(); myOpacityField = myControlsColumn2.realEditboxes.add({editValue:0});

myControlsColumn2.staticTexts.add();

myXScaleField = myControlsColumn2.realEditboxes.add({editValue:0}); myYScaleField = myControlsColumn2.realEditboxes.add({editValue:0}); myControlsColumn2.staticTexts.add();

myControlsColumn2.staticTexts.add(); myProxyMenu =

myControlsColumn2.dropdowns.add({stringList:myProxyLis selectedlndex:0}); myResult = myDialog.show(); if(myResult == true){

// Получаем параметры, введенные пользователем myNumberOfRepeats = myRepeatField.editValue; myXOffset = myXOffsetField.editValue; myYOffset = myYOffsetField.editValue; myRotation = myRotationField.editValue; mySkew = mySkewField.editValue; myFillTint = myFillTintField.editValue; myStrokeTint = myStrokeTintField.editValue; myStrokeWeight = myStrokeWeightField.editValue; myOpacity = myOpacityField.editValue; myXScale = myXScaleField.editValue; myYScale = myYScaleField.editValue; myProxy = myProxyMenu.selectedlndex; myDialog.destroy();

with (app.activeDocument.viewPreferences){

var myOldXUnits = horizontalMeasurementUnits; var myOldYUnits = verticalMeasurementUnits;

horizontalMeasurementUnits = MeasurementUnits.points; verticalMeasurementUnits = MeasurementUnits.points;

}

// Собственно функция, выполняющая все преобразования myStepAndRepeat(myObjects, myNumberOfRepeats, myXOffset, myYOffset, myRotation, mySkew, myFillTint, myStrokeTint, myOpacity, myStrokeWeight, myXScale, myYScale, myProxy);

// Восстановление размерностей

app.activeDocument.viewPreferences.horizontalMeasurementUnits = myOldXUnits;

app.activeDocument.viewPreferences.verticalMeasurementUnits = myOldYUnits;

}

else{

myDialog.destroy();

)

}

11 Собственно трансформации

function myStepAndRepeat(myObjects, myNumberOfRepeats, myXOffset, myYOffset, myRotation, mySkew, myFillTint, myStrokeTint, myOpacity, myStrokeWeight, myXScale, myYScale, myProxy)(

// Определяем точку - центр трансформаций switch(myProxy)( case 0:

myProxy = AnchorPoint.topLeftAnchor; break; case 1:

myProxy = AnchorPoint.topCenterAnchor; break; case 2:

myProxy = AnchorPoint.topRightAnchor; break; case 3:

myProxy = AnchorPoint.leftCenterAnchor; break; case 4:

myProxy = AnchorPoint.centerAnchor; break; case 5:

myProxy = AnchorPoint.rightCenterAnchor; break; case 6:

myProxy = AnchorPoint.bottomLeftAnchor; break; case 7:

myProxy = AnchorPoint.bottomCenterAnchor; break; case 8:

myProxy = AnchorPoint.bottomRightAnchor; break;

}

// Делаем необходимое количество копий for (i = 1; i <= myNumberOfRepeats; i++){

// Работаем со всеми выделенными объектами for (j=0; j < myObjects.length; j++)


⇐ вернуться назад | | далее ⇒