[GastForen Programmierung/Entwicklung AppleScript Rahmenart bzw. zugewiesene Farben ermitteln

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Rahmenart bzw. zugewiesene Farben ermitteln

pixelstaub
Beiträge gesamt: 128

17. Feb 2010, 11:55
Beitrag # 1 von 5
Bewertung:
(1903 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebes Forum,

ich würde gerne mittels eines Appleskripts Kopien von Rahmen erstellen und diesen Kopien andere Farbwerte (bzw. Prozentwerte der Ursprungsfarbe) zuweisen, als dem Original. Das funktioniert auch soweit.

Code
	----- FARTRANSFORMATION 
if RandomFarbe is true then
set myColor to make color with properties {name:"neu" & nCounter, model:process, color value:{(random number (100)), (random number (100)), (random number (100)), (random number (20))}}
set fill color of page item ("ziel" & nCounter) to myColor
set nRandomSize to random number from 10 to 250
end if
--- FARBABSTUFUNGEN / GRAUSTUFEN
if RandomGrey is true then
set fill tint of page item ("ziel" & nCounter) to (random number from 10 to 100)
end if



Problematisch dabei: Wenn es sich um einen Textrahmen mit schwarzer Schrift handelt, ist die Farbe ja eine Text Fill Color. Ist es ein einfacher schwarzer Rahmen, handelt es sich um eine Fill Color, oder?
Ich suche nach einer - im besten Fall einfachen – Möglichkeit, herauszufinden, welche Farben gesetzt sind – muss ich dazu jede (theoretisch möglich zugewiesene) Farbart abfragen (das scheint mir etwas kompliziert)
Jemand eine Idee?

Tausend Dank schon jetzt und beste Grüße aus Köln
Stephan
X

Rahmenart bzw. zugewiesene Farben ermitteln

Hans Haesler
  
Beiträge gesamt: 5826

17. Feb 2010, 18:38
Beitrag # 2 von 5
Beitrag ID: #433918
Bewertung:
(1868 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

ich habe erfolglos versucht, Dein Script zum Laufen zu bringen.

Würdest Du bitte etwas mehr Code posten? Und eine Beschreibung der Objekte des Zieldokuments.

Deine Fragen verstehe ich nicht. Wenn Du einen Textrahmen adressierst, dann kannst Du doch mit einer einzigen Anfrage dessen fill color (= Hintergrundfarbe) erfahren. Die Farbe des Textes hat dabei keinen Einfluss.

Gruss, Hans


als Antwort auf: [#433868]

Rahmenart bzw. zugewiesene Farben ermitteln

pixelstaub
Beiträge gesamt: 128

17. Feb 2010, 19:06
Beitrag # 3 von 5
Beitrag ID: #433921
Bewertung:
(1858 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

anbei mal eine noch etwas wüste Version des Scripts, mit den Standardwerten der Dialogbox läuft es allerdings. Im InDesign-Dokument sollte ein Rahmen vorhanden sein.

Code
-------------------- DIALOG 

tell application "Adobe InDesign CS4"
set myDialog to make dialog
tell myDialog
set name to "Beispieldialog"
set myDialogColumn to make dialog column

tell myDialogColumn

--neues Borderpanel
set myBorderPanel to make border panel
tell myBorderPanel
-- make static text with properties {static label:"Checkbox"}
set checkboxauswahl to make checkbox control with properties {static label:"regelmäßige Winkelschritte von"}
set Winkel to make real editbox with properties {edit value:0}
make static text with properties {static label:"in Grad"}


set myDialogColumn to make dialog column
tell myDialogColumn
make static text with properties {static label:"Anzahl Kopien"}
make static text with properties {static label:"Minimalwert für Skalierung in %"}
make static text with properties {static label:"Maximalwert für Skalierung in %"}

end tell
set myDialogColumn to make dialog column
tell myDialogColumn
set Kopien to make real editbox with properties {edit units:millimeters, edit value:15}
tell myDialogColumn
set MinScale to make real editbox with properties {edit value:80}
tell myDialogColumn
set Maxscale to make real editbox with properties {edit value:120}
end tell
end tell
end tell
end tell

--neues Borderpanel für "Dropdown1"
set myBorderPanel to make border panel
tell myBorderPanel
make static text with properties {static label:"Farbtransformation"}
set myParagraphAlignmentGroup to make radiobutton group
tell myParagraphAlignmentGroup
set RandomColor_Color to make radiobutton control with properties {static label:"Random-Farbe", checked state:true}
set RandomColor_Grey to make radiobutton control with properties {static label:"Random-Graustufen, bzw. Abstufungen"}
set RandomColor_No to make radiobutton control with properties {static label:"keine"}
end tell
end tell
end tell
end tell
set myResult to show myDialog
end tell

tell application "Adobe InDesign CS4"
set Randomwinkel to checked state of checkboxauswahl
set nRepeats to edit value of Kopien
set Minimalskalierung to edit value of MinScale
set Maximalskalierung to edit value of Maxscale
set RandomFarbe to checked state of RandomColor_Color
set RandomGrey to checked state of RandomColor_Grey
set NoRandomFarbe to checked state of RandomColor_No
end tell

-------------------- MANIPULATIONEN,

tell document 1 of application "Adobe InDesign CS4"
activate

-- /////// Variablen initialisieren

-- Labelcounter initialisieren
set nCounter to 0
--- regelmäßige Winkelschritte 10°
set nAngleSteps to 10

set label of selection to "ziel" & nCounter

-- /////// Variablen initialisieren ENDE

repeat nRepeats times
-- vorhandenen label auswählen
select page item ("ziel" & nCounter)
-- set oNewZiel to duplicate page item "ziel" to {200, 90}
-- vorhandenen label in variable oNewZiel duplizieren
set oNewZiel to duplicate page item ("ziel" & nCounter)

-- labelcounter hochzählen
set nCounter to nCounter + 1

-- neuen labelnamen zuweisen
set label of oNewZiel to ("ziel" & nCounter)
-- neues label auswählen
select page item ("ziel" & nCounter)
-- randomwert für winkel berechnen
set nRandom to (random number (360)) as number
-- winkel des labels ermitteln (ist noch winkel des vorherigen labels)
set nRotationAngle to get rotation angle of page item ("ziel" & nCounter)
-- neuen winkel aus vorherigen winkel + randomwert berechnen

if Randomwinkel is false then
set bRandom to 1
else
set bRandom to 0
end if

if bRandom is 1 then
set nRotationAngle to nRotationAngle + nRandom
else
set nRotationAngle to nRotationAngle + nAngleSteps
end if

-- wenn winkel negativ -> positiv machen
if nRotationAngle < 0 then
set nRotationAngle to nRotationAngle * (-1)
end if
-- wenn winkel grösser 360°
if nRotationAngle > 360 then
set nRotationAngle to nRotationAngle - 360
end if
-- display dialog nRotationAngle
-- winkel setzen
set rotation angle of page item ("ziel" & nCounter) to nRotationAngle

----- FARBTRANSFORMATION
if RandomFarbe is true then
set myColor to make color with properties {name:"neu" & nCounter, model:process, color value:{(random number (100)), (random number (100)), (random number (100)), (random number (20))}}
set fill color of page item ("ziel" & nCounter) to myColor
set nRandomSize to random number from 10 to 250
end if
--- FARBABSTUFUNGEN / GRAUSTUFEN
if RandomGrey is true then
set fill tint of page item ("ziel" & nCounter) to (random number from 10 to 100)
end if

--- Skalierung
set nRandomSize to (random number from Minimalskalierung to Maximalskalierung)
display dialog nRandomSize
set absolute vertical scale of page item ("ziel" & nCounter) to nRandomSize
set absolute horizontal scale of page item ("ziel" & nCounter) to nRandomSize
get label of oNewZiel
end repeat
end tell


Das Problem: Ich hätte gerne, dass die "Farbtransformation" bei Text nur die Textfillcolor und z.B. bei einer gefüllten Elipse nur die Fillcolor ändert.

Danke schonmal und Grüße
Stephan

P.S. Beim zweiten Start des Script lieber ein neues Dokument (wieder mit einem Rahmen) anlegen – ich fange momentan noch nicht ab, ob die Farbefelder schon existieren


als Antwort auf: [#433918]
(Dieser Beitrag wurde von pixelstaub am 17. Feb 2010, 19:08 geändert)

Rahmenart bzw. zugewiesene Farben ermitteln

Hans Haesler
  
Beiträge gesamt: 5826

17. Feb 2010, 22:31
Beitrag # 4 von 5
Beitrag ID: #433938
Bewertung:
(1835 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

so etwas grundsätzliches sollte mit einem kleinen Script erprobt werden, welches nur vorhandenen Text einfärbt. Oder den Hintergrund, wenn es ein Bildrahmen ist. Dann kann man den funktionierenden Code in ein grösseres Script einbauen.

Jetzt habe ich Dein Script zum Laufen gebracht. Der Rahmen sollte nicht zu gross sein. Und den Bezugspunkt setzt man mit Vorteil in die Mitte.

Die Auswahl würde ich aufheben, gleich nachdem der Rahmen mit dem Label versehen ist:

Code
set frameType to content type of selection 
set label of selection to "ziel" & nCounter
set selection to {}

Und mit der Zeile darüber speichert man den Inhaltstyp des Rahmens. Dies wird später herangezogen, wenn entweder der Text oder der Hintergrund eingefärbt werden soll.

Noch was: In der Schleife ist es nur störend, wenn der aktuelle Rahmen ausgewählt ist. Also die beiden "select page item ..." auskommentieren.

Im Abschnitt "Farbtransformation" kann so zwischen einem Textrahmen und einem anderen unterschieden werden:

Code
if frameType is text type then 
set fill color of parent story of page item ("ziel" & nCounter) to myColor
else
set fill color of page item ("ziel" & nCounter) to myColor
end if

Voraussetzung ist natürlich, dass ein Textrahmen auch Text enthält. Könnte man auch testen. Aber fürs erste sollte es reichen.

Gruss, Hans


als Antwort auf: [#433921]

Rahmenart bzw. zugewiesene Farben ermitteln

pixelstaub
Beiträge gesamt: 128

17. Feb 2010, 23:34
Beitrag # 5 von 5
Beitrag ID: #433951
Bewertung:
(1823 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Halo Hans,

genau das hab ich gesucht, vielen lieben Dank Dir (auch für die weiteren Anmerkungen)

schöne Grüße
Stephan


als Antwort auf: [#433938]
X

Aktuell

Web / SEO / Blockchain / Betriebssystem
300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
18.06.2024

Online
Dienstag, 18. Juni 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow
Veranstaltungen
20.06.2024

Online
Donnerstag, 20. Juni 2024, 15.00 - 15.45 Uhr

Webinar

Etiketten-Workflows gehören zu den anspruchsvollsten in der grafischen Industrie. Ihre PDF-Dateien sind oft sehr komplex und erfordern eine spezielle Vorbereitung. pdfToolbox bietet viele Möglichkeiten, um diese Arbeit zu automatisieren. Nehmen Sie an unserem Webinar "pdfToolbox für den Etikettendruck" teil und lernen Sie einige der Funktionen kennen, die Ihren Etiketten-Workflow effizienter gestalten. Einige der Bereiche, die Sie kennenlernen werden, sind: Beschnitt erzeugen Beim Etikettendruck ist das Druckmotiv oft nicht rechteckig. Lernen Sie, wie Sie einen passenden Beschnitt für alle Arten von Formen hinzufügen können. Produktionsreife Dateien erstellen nutzen Sie bereits vorliegende Inhalte oder Seiteninformationen, um eine Weißform hinter dem Seiteninhalt hinzuzufügen, eine passgenaue Lackform für bestimmte Objekte zu erzeugen oder eine Stanzlinie mit korrektem Sonderfarbnamen zu erstellen. Ausschießen, Step & Repeat, N-Up Mit der Ausschieß-Engine von pdfToolbox lassen sich Seiten zu größeren Druckbögen zusammenfassen, wobei verschiedene Layouts und Komplexitäten unterstützt werden. Hochwertige Freigabe-Bögen Erstellen Sie automatisch Freigabe-Bögen mit Vorschaubildern Ihrer Produktionsdatei und Auftragsdaten aus dem MIS. Qualitätskontrolle pdfToolbox enthält Standard-Preflight-Profile, die die grundlegenden Anforderungen an PDF-Dateien in Etiketten-Workflows abdecken. Prüfen Sie ob Ihre Dokumente internationalen Standards wie ISO PDF/X oder GWG (Ghent Workgroup) Spezifikationen entspricht. Verpackungs- und etikettenspezifische Vorgaben, wie der ISO-Standard „Processing Steps“, werden ebenfalls unterstützt.

kostenlos

Ja

Organisator: callassoftware

https://www.impressed.de/schulung.php?c=sDetail&sid=322

pdfToolbox für den Ettikettendruck