alvisio - Content Management für KMU
Home
 

Corel Script: Ventura-Scripte

1.10.2001 Diese Seite drucken  Diese Seite per E-Mail empfehlen

Korrekte abgerundete Ecken erstellen (Version 1)

Wenn ein Rahmen verzerrt wurde, also gedehnt oder gestaucht, dann ist es unmöglich, die Ecken korrekt abzurunden, da diese Abrundungen dann auch verzerrt sind. Nur bei unverzerrten, sprich unveränderten Rahmen sind die Rundungen sauber.

Dieses Script schafft Abhilfe. In wieweit es mit alle erdenklichen Rahmenarten klarkommt, muss die Praxis zeigen. Dennoch war der Weg zu diesem schließlich sehr eleganten Script wirklich harte Arbeit...
Die Funktionsweise ist dabei jedoch denkbar einfach: Der abzurundene Rahmen, der im Zuge der Arbeit irgendwann verzerrt wurde, wird durch einen neuen, somit unverzerrten ersetzt.

Soweit so einfach, jedoch sollten weitestgehend die gestalterischen Aspekte des ursprünglichen Rahmens übernommen werden, und dies sowohl für Text, als auch für Bilddateien. Besonders verkettete Rahmen durften nicht das Layout zerstören, egal ob der Rahmen am Anfang, in der Mitte oder am Schluß des Textes steht. Da rotierende Rahmen andere Ausmaße haben, mußte auch dieses berücksichtigt werden.

Grundsätzlich beherrscht das Script folgende Features:

  • Position und Ausmaße bleiben erhalten
  • Rotationen bleiben erhalten
  • Texte bleiben erhalten
  • Verkettungen der Textrahmen bleiben erhalten
  • Im Rahmen verschobene Bilder bleiben erhalten
  • Rahmenstile bleiben erhalten

Da jedoch Rahmen aus sehr viel mehr Elementen bestehen können (Spalten, Linien, Füllungen, Rahmen uvm.) war es unmöglich, alle Elemente von dem alten Rahmen in den neuen zu kopieren.
Arbeiten Sie also bei aufwändigeren Rahmen unbedingt mit Stilen, sonst gehen diese Gestaltungselemente verloren.

Anmerkung: Version 2 dieses Scripts finden sie hier ...


Script:

WITHOBJECT "CorelVentura.Automation.8"
DIM ftv AS BOOLEAN
DIM lf AS BOOLEAN
DIM ma AS BOOLEAN
DIM fi AS BOOLEAN
.FormatFrameGeneralGet l&,t&,w&,h&,r&,ftv,lf,ct&,n$,ff&,cr&
if r&<>0 then
.FormatFrameGeneral .FrameRotation=0
.FormatFrameGeneralGet l&,t&,w&,h&
end if
.FormatFramePictureGet pw&,ph&,hs&,vs&,fi,ma
ft$ = .FormatGetFrameTag ( )
pic$ = .CurrentPictureFile ( )
txt$= .CurrentTextFile ( )
	if txt$>"" then
		ixakt& = .CurrentFrameIndex ( )
		.FormatCreateFrame l&,t&,w&,h&
		ixneu& = .CurrentFrameIndex ( )
		.FrameFirst FALSE, .FrameIndex=ixakt&
		.FrameContinueTextFlow .FrameIndex=ixneu&
		.FrameFirst FALSE, .FrameIndex=ixakt&
		.EditDelete
		.FrameFirst FALSE, .FrameIndex=.FrameCount ( )
	else
		.EditDelete
		.FormatCreateFrame l&,t&,w&,h&
	end if
	.FormatSetFrameTag ft$
	.FormatFrameGeneral l&,t&,w&,h&,r&,ftv,lf,ct&,n$,ff&,cr&
	if pic$>"" then
		.FormatAttachPicture pic$
		.FormatFramePicture pw&, ph&, hs&, vs&, fi, ma
		x=x
	end if
END WITHOBJECT


Funktionsweise

  1. Dieses Script ermittelt bei einem markierten Rahmen die Ausmaße, Koordinaten, Text- und Bilddateien, Rotation und Stil
  2. Dann wird ein neuer Rahmen mit diesen Elementen erstellt und
  3. der bisherige wird gelöscht

Sie können nun die Ecken nach belieben abrunden, diese sind nun korrekt, weil ja dieser neue Rahmen unverzerrt ist.

Kommentare

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

Anzeigen

 Schluss mit Knipsen 
Digitale Spiegelreflex-
kameras: