Schenken Sie doch diesmal etwas origenelles: Einen Stern durch die Sternwarte Bochum
Home
 

Corel Script: Ventura-Scripte

21.2.2002 Diese Seite drucken  Diese Seite per E-Mail empfehlen

Rahmengröße an Bildgröße anpassen

Der Ventura bietet zwar eine Funktion, mit der man einen Rahmen, der ein Bild beinhaltet, schnell auf die Ursprüngliche Größe des Bildes setzen kann, doch dieses Script kann mehr.

Sie gelangen übrigens an diesen Befehl, wenn Sie mit der rechten Maustaste auf einen Rahmen mit Bild klicken und im Kontextmenü den Befehl Bild - Rahmengröße an Bild anpassen auswählen.
Diese Funktion ist jedoch im Alltag kaum zu gebrauchen. Einziger Nutzen: Wenn Sie ein Bild mit einer Umrisslinie versehen wollen, muss der Rahmen exakt die Seitenverhältnisse des Bildes haben. Sie müssen also folgende Schritte gehen:

  1. Sie arbeiten im Layout und verschieben und skalieren Bilder hin und her. Der Rahmen mit dem Bild weißt dann meist ein anderes Seitenverhältnis als das Bild selbst aus, eine Umrandungslinie würde unschöne leere Flächen aufweisen.
    Sie beginnen also mit:
  2. Rahmen auswählen
  3. Befehl Bild - Rahmengröße an Bild anpassen auswählen.
    In den meisten Fällen wird das Bild nun vergrößert, also
  4. mit der Strg-Taste den Rahmen wieder auf Ihr Layout verkleinern. Eventuell muss dies exakt auf die ursprüngliche Größe geschehen, was eine sehr umständliche Arbeit werden kann.

Mit dem nachfolgenden Skript geschieht dies von nun an automatisch.


Script:

REM Dieser Befehl passt die Rahmengröße der augenblicklichen Bildgröße an
REM © 2001 by Ulrich Albrecht
 
 WITHOBJECT "CorelVentura.Automation.8"
  .FormatFramePictureGet .HorzShift=hs&, .VertShift=vs&
  if hs&<>0 or vs&<>0 then ret%=messagebox("Das Bild wurde im Rahmen verschoben. Durch Anwenden dieses Befehls wird diese Verschiebung rückgängig gemacht.", "Rahmen an Bildgröße anpassen",1)
  if ret%=2 then end
  if ret%=1 then .FormatFramePicture .HorzShift=0, .VertShift=0
 
  .FormatFrameGeneralGet .Width=fw&, .Height=fh&, .Left=x&, .Top=y&
  .FrameSizeToObject
  .FormatFrameGeneralGet .Width=pw&, .Height=ph&, .FrameFlow=ff&
  .FormatFrameGeneral .Width=fw&, .Height=fh&
 
  mp=pw&/ph&
  mf=fw&/fh&
 
  if mp  .FormatFrameGeneral .Width=fh&*mp, .Left=x&+(fw&-(fh&*mp))/2
  else
  .FormatFrameGeneral .Height=fw&/mp, .Top=y&+(fh&-(fw&/mp))/2
  end if
 END WITHOBJECT

Kommentare

Schreiben Sie einen Kommentar zu diesem Artikel.
Um Kommentare zu schreiben, müssen Sie sich zuerst hier anmelden.

Anzeigen

 Gut für Bildbearbeitung 
22"-DTP-Röhrenmonitore: