[GastForen Programme Print/Bildbearbeitung Adobe Illustrator Größe der Auswahl in ein Textfeld ins Dokument schreiben?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

pixxxelschubser
Beiträge gesamt: 1708

11. Apr 2008, 09:27
Beitrag # 1 von 22
Bewertung:
(5947 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

kennt einer eine Möglichkeit, die Ausmaße (Breite und Höhe) einer Auswahl (mit Bemaßung in mm oder cm) über eine Aktion oder ein Script in ein Textfeld ins Dokument schreiben zu lassen.

Nach Möglichkeit für CS2 und CS3.

Die Suche danach war bislang leider erfolglos.

Vielen Dank im Voraus
Smile
X

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

Gerald Singelmann
Beiträge gesamt: 6268

11. Apr 2008, 10:15
Beitrag # 2 von 22
Beitrag ID: #345745
Bewertung: |||
(5926 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nicht sehr sophisticated, aber vielleicht hilfreich:

Code
var allSel = app.selection; 
var aSel = app.selection[0];
var aText = app.documents[0].textFrames.add();
aText.contents = "w: " + aSel.width + " , h: " + aSel.height;
try {
aText.left = aSel.geometricBounds[2];
aText.top = aSel.geometricBounds[1];
} catch(e) {
aText.left = aSel.controlBounds[2];
aText.top = aSel.controlBounds[1];
}



als Antwort auf: [#345729]

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

pixxxelschubser
Beiträge gesamt: 1708

11. Apr 2008, 11:06
Beitrag # 3 von 22
Beitrag ID: #345756
Bewertung:
(5913 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Nicht sehr sophisticated, aber vielleicht hilfreich:

Klasse Gerald, funktioniert in CS2 und CS3 gleichermaßen, allerdings pixelgenau.

Und ein besonderes Danke für js.
Wink

Wo und wie müßte ich jetzt noch einen Umrechnungsfaktor einbauen, damit ich letztenendes eine Anzeige in cm (oder auch in mm), gerundet auf 3 Stellen erhalte.


<edit>
Die InDesign-Syntax wird mir hier wahrscheinlich nicht viel weiter helfen, oder?
Nachfolgendes erzeugt in ID z.B. ein Texteingabefeld mit Voreinstellung 3mm

Code
var myCropMarkLengthField = measurementEditboxes.add({editValue:(3*2.83465), editUnits:MeasurementUnits.millimeters, smallNudge:0.5}); 

</edit>


als Antwort auf: [#345745]
(Dieser Beitrag wurde von pixxxelschubser am 11. Apr 2008, 11:22 geändert)

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

Gerald Singelmann
Beiträge gesamt: 6268

11. Apr 2008, 11:23
Beitrag # 4 von 22
Beitrag ID: #345762
Bewertung: |||
(5901 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das müsste dan so gehen...

Code
var allSel = app.selection;  
var aSel = app.selection[0];
var aText = app.documents[0].textFrames.add();
aText.contents = "w: " + myMM(aSel.width) + " , h: " + myMM(aSel.height);
try {
aText.left = aSel.geometricBounds[2];
aText.top = aSel.geometricBounds[1];
} catch(e) {
aText.left = aSel.controlBounds[2];
aText.top = aSel.controlBounds[1];
}

function myMM(x) {
var aMM = x * (25.4/72);
return (Math.round(aMM * 1000) / 1000);
}



Zitat Und ein besonderes Danke für js.

Ich hatte kürzlich ein paar trigonometrische Probleme und AppleScript glänzt da durch quasi vollständige Abwesenheit so unwichtiger Funktionen wie sinus(x). Und jetzt gewöhne ich mich an JS :)


als Antwort auf: [#345756]

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

monika_g
Beiträge gesamt: 4328

11. Apr 2008, 11:26
Beitrag # 5 von 22
Beitrag ID: #345764
Bewertung:
(5895 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Man kann AppleScript ja auch aufbohren:
http://www.satimage.fr/software/en/dictionaries/dict_satimage.html#Mathematicalfunctions


als Antwort auf: [#345762]

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

pixxxelschubser
Beiträge gesamt: 1708

11. Apr 2008, 11:35
Beitrag # 6 von 22
Beitrag ID: #345769
Bewertung:
(5891 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gerald, wenn du eine Frau wärst, dann würde ich dich jetzt knutschen.
Laugh

Danke, funktioniert in CS2 und CS3 gleichermaßen.


als Antwort auf: [#345762]

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

Gerald Singelmann
Beiträge gesamt: 6268

11. Apr 2008, 11:35
Beitrag # 7 von 22
Beitrag ID: #345770
Bewertung:
(5891 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, es gibt eine Reihe von osaxen, die vernünftige mathematische Funktionen liefern. Aber dann läuft das Script nur auf meinem Rechner bzw. auf einem, auf dem noch mehr installiert werden muss als das Script.
Wenn man für andere scriptet kann das eine Hürde darstellen.


als Antwort auf: [#345764]

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

pixxxelschubser
Beiträge gesamt: 1708

11. Apr 2008, 14:08
Beitrag # 8 von 22
Beitrag ID: #345809
Bewertung:
(5861 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

einen kleinen Wermutstropfen gibt es doch noch.

Werden mehrere Elemente (auch von verschiedenen Ebenen) ausgewählt, dann werden immer die Maße des obersten Objektes eingetragen.

Abhilfe würde ein temporäres Gruppieren schaffen – allerdings sind dann alle Objekte auf einer Ebene vereinigt. Also behelfe ich mir vorerst mit folgendem (scriptfreien) Workaround:
Auswahl kopieren, davor einfügen, gruppieren, Script aufrufen, Auswahl löschen.

Der Screenshot zeigt die fertige Aktion, die das Script auch bei einzelnen (nicht gruppierten) Objekten fehlerfrei duchlaufen lässt.


als Antwort auf: [#345770]
Anhang:
Aktion_Auswahlgroesse.png (5.08 KB)

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

Gerald Singelmann
Beiträge gesamt: 6268

11. Apr 2008, 14:35
Beitrag # 9 von 22
Beitrag ID: #345815
Bewertung:
(5853 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also ist die Gesamtgröße der markierten Objekte gewünscht und nicht für jedes einzeln? Muss ich mal schauen...


als Antwort auf: [#345809]

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

Gerald Singelmann
Beiträge gesamt: 6268

11. Apr 2008, 15:17
Beitrag # 10 von 22
Beitrag ID: #345829
Bewertung:
(5833 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
This seems to work:


Code
main(); 

function main() {
var allSel = app.selection;
var mX = maxX();
var mY = maxY();
var aText = app.documents[0].textFrames.add();
aText.contents = "w: " + myMM(mX - minX()) + " , h: " + myMM(mY - minY());

aText.left = mX;
aText.top = mY;
}

function myMM(x) {
var aMM = x * (25.4/72);
return (Math.round(aMM * 1000) / 1000);
}

function minX() {
var mX = app.selection[0].geometricBounds[0];
for (var n = 1; n < app.selection.length; n++) {
if (app.selection[n].geometricBounds[0] < mX) {
mX = app.selection[n].geometricBounds[0];
}
}
return mX;
}
function maxX() {
var mX = app.selection[0].geometricBounds[2];
for (var n = 1; n < app.selection.length; n++) {
var aX = app.selection[n].geometricBounds[2];
if (aX > mX) {
mX = aX;
}
}
return mX;
}
function minY() {
var mX = app.selection[0].geometricBounds[3];
for (var n = 1; n < app.selection.length; n++) {
if (app.selection[n].geometricBounds[3] < mX) {
mX = app.selection[n].geometricBounds[3];
}
}
return mX;
}
function maxY() {
var mX = app.selection[0].geometricBounds[1];
for (var n = 1; n < app.selection.length; n++) {
var aX = app.selection[n].geometricBounds[1]
if (aX > mX) {
mX = aX;
}
}
return mX;
}


Edit: ich verwende hier die geometric bounds, also die Ausmaße ohne Konturstärke. Illustrator hat keine visible bounds wie InDesign, sondern bietet als Alternative nur die control bounds, die auch die direction points mit beinhalten...


als Antwort auf: [#345815]
(Dieser Beitrag wurde von Gerald Singelmann am 11. Apr 2008, 15:20 geändert)

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

kkauer
Beiträge gesamt: 661

11. Apr 2008, 15:51
Beitrag # 11 von 22
Beitrag ID: #345833
Bewertung: |
(5820 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Illustrator hat keine visible bounds wie InDesign, sondern bietet als Alternative nur die control bounds, die auch die direction points mit beinhalten...

Wie kommen Sie darauf?


als Antwort auf: [#345829]
(Dieser Beitrag wurde von kkauer am 11. Apr 2008, 15:51 geändert)

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

Gerald Singelmann
Beiträge gesamt: 6268

11. Apr 2008, 16:17
Beitrag # 12 von 22
Beitrag ID: #345844
Bewertung:
(5806 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Wie kommen Sie darauf?

Ich hab nicht gründlich genug gekuckt.
Oder mein Debugger hat mir nicht alle Information angezeigt, als ich gekuckt habe...


als Antwort auf: [#345833]

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

pixxxelschubser
Beiträge gesamt: 1708

11. Apr 2008, 16:19
Beitrag # 13 von 22
Beitrag ID: #345845
Bewertung:
(5806 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@ Gerald

vielen herzlichen Dank. Ich hatte wirklich nicht mit einer Überarbeitung des Scripts nach meinen "neuen Vorgaben" gerechnet, und bin daher erfreut, dir mitteilen zu können, dass das Script meine Anforderungen in beiden Versionen erfüllt.


> "ich verwende hier die geometric bounds, also die Ausmaße ohne Konturstärke. Illustrator hat keine visible bounds wie InDesign, sondern bietet als Alternative nur die control bounds, die auch die direction points mit beinhalten... "

Konturstärken können vernachlässigt werden, da ohnehin nur Dateien mit "Outline-Grafiken" zu Kontrollzwecken mit den Werten für Breite und Höhe versehen werden sollen. Viel wichtiger war es, die richtige Ebenenanordnung beizubehalten.

Manchmal frage ich mich allerdings, wie du das alles auf die Reihe bekommst. Es ist ja nicht so, dass du zu Hause sitzt und nur darauf wartest, in den verschiedenen Foren Fragen zu beantworten. Ich wollte mich auch schon mehrfach mit dem Scripting beschäftigen, aber …

Und ich schreibe keine Bücher und setze keine Bilder mit Axt ins Web …

Wie auch immer,
vielen Dank.
Smile


als Antwort auf: [#345829]

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

kkauer
Beiträge gesamt: 661

11. Apr 2008, 22:54
Beitrag # 14 von 22
Beitrag ID: #345902
Bewertung: |
(5767 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Ich hab nicht gründlich genug gekuckt.

Scheint so!

Zitat Oder mein Debugger hat mir nicht alle Information angezeigt, als ich gekuckt habe...

Welcher Debugger, welches OS, welche Version?


als Antwort auf: [#345844]
(Dieser Beitrag wurde von kkauer am 11. Apr 2008, 23:01 geändert)

Größe der Auswahl in ein Textfeld ins Dokument schreiben?

monika_g
Beiträge gesamt: 4328

11. Apr 2008, 23:44
Beitrag # 15 von 22
Beitrag ID: #345906
Bewertung:
(5750 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also, ohne Herrn Singelmann vorgreifen zu wollen: Das OS dürfte sich aus der Randbemerkung zu AppleScript wohl hinreichend ergeben.

Wie wäre es mit einer Empfehlung zu einem geeigneten Debugger für dieses System? Könnte mich auch interessieren.


als Antwort auf: [#345902]
X