[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Skript zum erstellen eines Kreise

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

Skript zum erstellen eines Kreise

Hunabku
Beiträge gesamt: 10

12. Mär 2009, 13:57
Beitrag # 1 von 4
Bewertung:
(4873 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich bin dabei ein kleines JavaSkript für InDesign zu schreiben und suche jetzt nach einer Möglichkeit, wie ich einen Kreis mit nem festen Radius in der Mitte der Seite platzieren kann.
Hat sowas schon jemand gemacht oder weiß, wie das geht?

Mit besten Grüßen
X

Skript zum erstellen eines Kreise

Gerald Singelmann
  
Beiträge gesamt: 6269

12. Mär 2009, 15:17
Beitrag # 2 von 4
Beitrag ID: #389124
Bewertung:
(4855 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Code
app.activeDocument.pages[0].ovals.add( {geometricBounds: [0,0,100,100] } ); 



als Antwort auf: [#389105]

Skript zum erstellen eines Kreise

Hunabku
Beiträge gesamt: 10

12. Mär 2009, 15:58
Beitrag # 3 von 4
Beitrag ID: #389131
Bewertung:
(4840 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
das ist ja einfach, naja, wenn man weiß wie ;)

Vielen Dank für die schnelle Antwort.

Viele Grüße
Kai


als Antwort auf: [#389124]

Skript zum erstellen eines Kreise

Hans Haesler
  
Beiträge gesamt: 5826

12. Mär 2009, 17:18
Beitrag # 4 von 4
Beitrag ID: #389144
Bewertung:
(4810 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

wenn der Kreis in der Mitte der Seite erzeugt werden soll, dann muss auch deren Grösse berücksichtigt werden. Also die 'bounds' verlangen: Die Elemente 2 und 3 des Ergebnisses enthalten die Höhe und die Breite. Diese Werte halbieren (= Mittelpunkt der Seite) und für die vier Positionen den Radius abziehen, bzw. dazurechnen. Mit 'activePage' wird der Kreis auf der aktiven Seite erzeugt.

Code
// EinKreis.js 
var cRad = 100;
var pB = app.documents[0].pages[0].bounds;
var y1 = (pB[2]/2) - cRad;
var x1 = (pB[3]/2) - cRad;
var y2 = y1 + (cRad*2);
var x2 = x1 + (cRad*2);
app.activeWindow.activePage.ovals.add({geometricBounds:[y1,x1,y2,x2]});

Und hier noch eine Spielerei. Die Werte für den Radius, die Schrittweite und die Anzahl Kreise können verändert werden.

Code
// MehrKreise.js 
var cRad = 100; // der Radius des ersten Kreises
var aDif = -10; // die Schrittweite
var nCir = 5; // die Anzahl Kreise
var pB = app.documents[0].pages[0].bounds;
var y1, x1, y2, x2;
for (var c=0; c<nCir; c++) {
y1 = (pB[2]/2) - cRad;
x1 = (pB[3]/2) - cRad;
y2 = y1 + (cRad*2);
x2 = x1 + (cRad*2);
app.activeWindow.activePage.ovals.add({geometricBounds:[y1,x1,y2,x2]});
cRad = cRad+aDif;
}

Mit einem negativen Wert für "Schrittweite" werden die Kreise immer kleiner. Es ist nicht notwendig, eine eventuelle Fehlermeldung abzufangen, falls der aktuell zu erzeugende Kreis zu klein sein sollte.

Gruss, Hans


als Antwort auf: [#389131]
X