Was ist das? Wie geht das?

Skalieren


Skalieren
Ein Ergebnis (starke Verkleinerung auf drei Achtel).

Wissenswert

In der Bildbearbeitung versteht man unter Skalieren das Ändern der Größe eines Bildes oder eines Teils des Bildes.

Die Maße eines solchen Objekts werden dabei auf eine andere Skala umgerechnet, sein Inhalt daran angepasst und das Ergebnis wieder als Bild ins Original eingefügt. Soll das Objekt am Ende ohne Verzerrungen erscheinen, muss es seinen ursprünglichen Aspekt (das Verhältnis von Bildbreite zur Bildhöhe) beibehalten. Ist das der Fall, spricht man auch von Vergrößern und Verkleinern (sonst: Verzerren). Der Bildaspekt eines C64 beträgt 1,6 (320 geteilt durch 200 ergibt 1,6). Im Videobereich wäre das ein 16:10-Bildformat.

Unter GoDot muss beachtet werden, dass das Auswahlwerkzeug GoDots (ClipWorks) nicht pixelgenau arbeitet, sondern nur kachelgenau (auf 8×8 Pixel genau), daher ist es nicht ganz einfach, eine Einstellung für die gerade gewünschte Skalierung zu finden. Dazu weiter unten mehr.

Es gibt mehrere Werkzeuge, die GoDot für das Skalieren bereitstellt: Squeeze, Stretch, Squeeze2Clip, StretchClip, Double, Tile und die Funktionen Shrink und Zoom in ClipWorks sowie natürlich als Grundlage für alles die Clip-Funktion in ClipWorks. Beim Skalieren unter GoDot muss man weiter beachten, dass diese Werkzeuge sich immer auf das ganze Bild (320×200 Pixel bzw. 40×25 Kacheln) beziehen. Wenn StretchClip vergrößert, dann auf dieses Maß, wenn Squeeze2Clip verkleinert, dann ausgehend von diesem Maß, ebenso Double und Tile, Zoom und Shrink.

Erforderliche Werkzeuge: Squeeze · Squeeze2Clip · Stretch · StretchClip · Double · Tile · ClipWorks

Vorgehen

Um eine bestimmte Zielgröße beim Skalieren zu erreichen, sind in GoDot u.U. zwei Schritte erforderlich: Das Ausgangsobjekt wird zuerst auf Screenmaße vergrößert und dann (bei Bedarf) auf das gewünschte Maß wieder verkleinert. Die geringe Auflösung des C64 macht eventuell dabei verloren gegangene Bilddetails wieder wett (s. Bildbeispiel mit den Adlern oben). Hier eine typische Skalierungssequenz als Bildfolge:

Anfangsstadium
1. Eine Beschriftung durch Titler.
Anfangsclip bestimmen
2. Markieren der Position: 1 - 1 - 13 - 6.
Vergrößern
3. Vergrößern auf Screenmaße (0 - 0 - 40 - 25) mit StretchClip.

Zielclip bestimmen
4. Die Zielgröße wird festgelegt, hier: 9 - 10 - 26 - 12.
Verkleinern zum Ergebnis
5. Und wieder Verkleinern mit Squeeze2Clip. Das Ausgangsobjekt
(links oben eingeblendet) ist nun doppelt so groß.

Die Zwischenstadien dürfen ruhig verzerrt sein, solange das fertige Ergebnis nur ungefähr im richtigen 1,6-Aspekt erscheint. Vielleicht ist aber sogar eine Verzerrung erwünscht? Dann sollte man an den Rändern der Objekte des Endstadiums Ausgleichsmaßnahmen treffen: auffällige Treppchen müssten mit PixelEdit verfüllt werden, und zwar so, dass eine Treppe nirgendwo breiter ist als zwei Pixel. Die Hälfte der Entfernung der längeren Strecke einer Pixeltreppe muss dabei aufgefüllt werden (ein Pixel mehr, wenn die Anzahl der Pixel dieser Strecke gerade ist). Im dritten Bild dieser Sequenz wäre diese Maßnahme erforderlich gewesen.


Einstellungen

Sollen Bilder aspektgetreu skaliert werden, verwendet man Squeeze bzw. Stretch. Ansonsten muss man wissen, dass unter GoDot nicht alle gewünschten Größen möglich sind. Am besten geeignet sind alle Clip-Einstellungen, in denen der Quotient aus Breite und Höhe dem C64-Aspekt von 16:10 bzw. 8:5 (gleich 1.6) entspricht. Das sind zunächst einmal Verkleinerungen in Fünftelschritten (dem Teiler des Aspektquotienten), also auf die Werte für Breite und Höhe eines Clips von 32 und 20 (Verkleinerung auf 4/5), 24 und 15 (Verkleinerung auf 3/5), 16 und 10 (Verkleinerung auf 2/5) und 8 und 5 (Verkleinerung auf 1/5). Außerdem stehen uns exakte Halbierung und Verdopplung der Größe mithilfe von Tile und Double zur Verfügung.

Skalierung auf 3/5
Zusammen mit TurnScreen, 4Bit&Mask und einigen anderen Schmankerln eine Verkleinerung auf drei Fünftel (hier ist das Porträt skaliert).

Format Wid Hgt zu tun
256×160 32 20
192×120 24 15
128×80 16 10
64×40 8 5

Die Werte dieser Tabelle funktionieren auch anders herum, d.h. Clips mit diesen Einstellungen kann man mit StretchClip verzerrungsfrei auf Screengröße zoomen. Die erste Vergrößerung aus der Tabelle ist dann eine Skalierung von 5/4, also um 125%. Die zweite entspräche 5/3, also rund 167%, die dritte ist 5/2 (250%) die unterste entspricht fünffacher Vergrößerung (500%).

Mit Squeeze und Stretch sind auch Zwischenwerte erreichbar, da jeweils Breite oder Höhe an den gewählten Clip anpassbar sind.


Verkleinerungen in Achtelschritten (ausgehend vom Nenner des Quotienten) sind ebenfalls aspektgetreu möglich, verlangen aber fast immer die Kombination und Aufeinanderfolge mehrfacher Einstellungen, meist eine Verbindung von Verkleinerung und Vergrößerung wie oben am Anfang beschrieben. Die genauen Justierungen haben wir in der zweiten Tabelle zusammengestellt, die hoffentlich verständlich zeigt, wie es geht. Wid und Hgt entstehen durch die Einstellungen unter "zu tun" automatisch (außer für 7/8), die Achtelangaben bei Hgt entsprechen der Anzahl Rasterlinien, die in der untersten Kachel nach der Skalierung belegt sind. Verkleinerungen in Achtelschritten sind nicht umkehrbar, da sie nie in ganzzahligen Kachelgrößen resultieren (Ausnahme: die 160×100-Verkleinerung mit Tile durch Double). Ansonsten verwendet man einfach Squeeze, das führt in jedem Fall zu verzerrungsfreien Ergebnissen.

Skalierung auf 6/8
Zusammen mit QuickMask, 4Bit&Mask und Scroll eine Verkleinerung auf sechs Achtel (die kleinere Trompete ist skaliert).

Format Wid Hgt zu tun
280×175 35 22
(21 7/8)
240×150 30 18 6/8
200×125 25 15 5/8
160×100 20 12 4/8
120×75 15 9 3/8
80×50 10 6 2/8
40×25 5 3 1/8

Vergrößerungen können mit Stretch ebenfalls nach obiger Tabelle (und darüber hinaus) vorgenommen werden: Man stellt die gewünschte Clipbreite ein und der Modifier passt die korrekte Höhe automatisch an (und umgekehrt).

Obwohl diese Angaben zeigen, dass das Skalieren unter GoDot Beschränkungen unterworfen ist, hat es sich in der praktischen Arbeit erwiesen, dass die vorhandenen Möglichkeiten völlig ausreichen, um ansprechende Ergebnisse zu erzeugen. Besonders im Zusammenhang mit Beschriftungen ist das Skalieren mit GoDot sehr nützlich, wie man auf godot64.de auf vielen Seiten feststellen kann.

Hinweis: Die Lader StarPntr.128, PFoxResample, VBM und DegasPI3 verwenden eine besondere Skalierungsmethode, die die Bilder bereits beim Einlesen auf die Hälfte verkleinert (Resampling).


zurück

Arndt Dettke
support@godot64.de