[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skalieren von Schlagschatten

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

Skalieren von Schlagschatten

Gerald Singelmann
  
Beiträge gesamt: 6269

12. Feb 2007, 14:06
Beitrag # 1 von 3
Bewertung:
(2416 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi all,
hin und wieder tauchte hier die Frage auf, warum man denn beim Skalieren die Schlagschatten nicht mitskalieren kann.
Das Warum weiß ich freilich auch nicht.
Dieses Applescript kann aber helfen. Es skaliert *nur* die Schlagschatten-Parameter aller markierten Objekte. Also auch die Parameter der Objekte, deren Schlagschatten nicht aktiviert ist. Falls man den später wieder anschalten will...

Der gedachte Workflow ist, dass das Skript gestartet wird, nachdem ein Haufen Objekte skaliert wurde, um die Schatten um den gleichen Faktor zu skalieren.

Irgendwann gibt es vielleicht auch eine Version, die Objektskalierung und Schattenskalierung gemeinsam macht.

Code
global hScale, vScale, medScale 

tell application "Adobe InDesign CS2"
set aDoc to active document
try
set allSel to selection
on error
return
end try
set myDialog to make dialog with properties {name:"Schatten skalieren"}
tell myDialog
tell (make dialog column)
make static text with properties {static label:"Waagerecht:"}
make static text with properties {static label:"Senkrecht:"}
end tell
tell (make dialog column)
set hScaleField to make real editbox with properties {edit value:100}
set vScaleField to make real editbox with properties {edit value:100}
end tell
end tell
set nu to show myDialog

if nu is true then
set hScale to (edit value of hScaleField) / 100
set vScale to (edit value of vScaleField) / 100
set medScale to ((hScale * vScale) ^ (1 / 2))
my doListe(allSel)
end if
end tell

on doListe(theseObjects)
tell application "Adobe InDesign CS2"
repeat with n from 1 to count theseObjects
set aSel to item n of theseObjects
-- if (shadow mode of aSel) is drop then
set xOFf to shadow x offset of aSel
set shadow x offset of aSel to xOFf * hScale
set yOff to shadow y offset of aSel
set shadow y offset of aSel to yOff * vScale
set aBlur to shadow blur radius of aSel
set shadow blur radius of aSel to aBlur * medScale
-- end if
-- if (feather mode of asel) is standard
set fWidth to feather width of aSel
set feather width of aSel to fWidth * medScale
-- end if

set containedObjects to page items of aSel
if containedObjects is not {} then
my doListe(containedObjects)
end if
end repeat
end tell
end doListe


Vielleicht hilft jemandem ja auch schon diese Variante.
X

Skalieren von Schlagschatten

suj
Beiträge gesamt: 67

29. Nov 2007, 16:07
Beitrag # 2 von 3
Beitrag ID: #325004
Bewertung:
(2237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
funktioniert dieses tolle Script, das wir oft benötigen, auch in CS3?
Oder gibts da eine Alternative? :)


als Antwort auf: [#275782]

Skalieren von Schlagschatten

Gerald Singelmann
  
Beiträge gesamt: 6269

29. Nov 2007, 17:00
Beitrag # 3 von 3
Beitrag ID: #325022
Bewertung:
(2205 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Legen Sie im Scripts Ordner einen "Version 4.0 Scripts" Ordner an und legen das Script dorthinein. Es läuft dann allerdings anscheinend nicht mehr allzu performant, habe ich gehört.

Eine Anpassung für CS3 ist aufgrund der geänderten Transformationen und der vielen hinzugekommenen Effekte kein 5-Minuten-Projekt.


als Antwort auf: [#325004]