hilfdirselbst.ch
Facebook Twitter gamper-media
atrachsel
Beiträge: 93
4. Nov 2013, 08:01
Beitrag #1 von 2
Bewertung:
(664 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Skript anpassen


Hallo zusammen

Ich habe hier ein Skript welchem ich die maximale Höhe und Breite eingeben möchte. Wenn ich ein Wort mit 3 Buchstaben habe, möchte ich nicht dass die volle Breite erreicht wird, da sonst die Buchstaben zu gross werden. Weiss aber leider nicht wo.
Kann mir da jemand helfen?

if ( app.documents.length > 0 )
main();

function main()
{
var old_tp = app.transformPreferences.whenScaling;
app.transformPreferences.whenScaling = WhenScalingOptions.ADJUST_SCALING_PERCENTAGE;
for ( var i = app.activeDocument.textFrames.length -1; i >= 0; i-- )
{
if ( app.activeDocument.textFrames.item(i).characters.length > 0 && app.activeDocument.textFrames.item(i).rotationAngle == 0 )
{
bring_auf_breite( app.activeDocument.textFrames.item(i) );

}
}
app.transformPreferences.whenScaling = old_tp;
}

function bring_auf_breite ( obj )
{
var gb_vorher = obj.geometricBounds;
var breite_vorher = gb_vorher[3] - gb_vorher[1];
var hoehe_vorher = gb_vorher[2] - gb_vorher[0];
obj.fit(FitOptions.FRAME_TO_CONTENT);
var gb_nachher = obj.geometricBounds;
var breite_nachher = gb_nachher[3] - gb_nachher[1];
var hoehe_nachher = gb_nachher[2] - gb_nachher[0];
var factorb = breite_vorher/breite_nachher;
var factorh = hoehe_vorher/hoehe_nachher;
var factor = Math.min( factorb, factorh);
var myScaleMatrix = app.transformationMatrices.add({horizontalScaleFactor:factor, verticalScaleFactor:factor});
obj.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.TOP_LEFT_ANCHOR, myScaleMatrix);
obj.geometricBounds = gb_vorher;
Top
 
X
Gerald Singelmann  M  p
Beiträge: 6178
4. Nov 2013, 10:29
Beitrag #2 von 2
Beitrag ID: #519276
Bewertung:
(631 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Skript anpassen


Ich stell das Script mal in einen code-tag, damit man’s auch lesen kann:
Code
if (app.documents.length > 0) main(); 

function main() {
var old_tp = app.transformPreferences.whenScaling;
app.transformPreferences.whenScaling = WhenScalingOptions.ADJUST_SCALING_PERCENTAGE;
for (var i = app.activeDocument.textFrames.length - 1; i >= 0; i--) {
if (app.activeDocument.textFrames.item(i).characters.length > 0
&& app.activeDocument.textFrames.item(i).rotationAngle == 0) {
bring_auf_breite(app.activeDocument.textFrames.item(i));

}
}
app.transformPreferences.whenScaling = old_tp;
}

function bring_auf_breite(obj) {
var gb_vorher = obj.geometricBounds;
var breite_vorher = gb_vorher[3] - gb_vorher[1];
var hoehe_vorher = gb_vorher[2] - gb_vorher[0];
obj.fit(FitOptions.FRAME_TO_CONTENT);
var gb_nachher = obj.geometricBounds;
var breite_nachher = gb_nachher[3] - gb_nachher[1];
var hoehe_nachher = gb_nachher[2] - gb_nachher[0];
var factorb = breite_vorher / breite_nachher;
var factorh = hoehe_vorher / hoehe_nachher;
var factor = Math.min(factorb, factorh);
var myScaleMatrix = app.transformationMatrices.add({
horizontalScaleFactor: factor,
verticalScaleFactor: factor
});
obj.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.TOP_LEFT_ANCHOR, myScaleMatrix);
obj.geometricBounds = gb_vorher;
}

als Antwort auf: [#519266] Top