Workshop - Wie man Bilder skaliert


Zum Skalieren (auf eine andere Größe bringen) haben wir in GoDot gleich mehrere Module, allen voran ClipWorks, das aber seine Arbeit im Graustufenmodus erledigt (gut, wenn man drucken möchte). Im Farbenmodus benutzen wir die Module Squeeze2Clip (zum Verkleinern) und StretchClip (zum Vergrößern).

Außerdem ist auch das Modul Tile ein Skaliermodul, es verkleinert den gesamten Bildschirm auf ein Viertel.

Zum (fast) beliebigen Skalieren ist auf jeden Fall mod.ClipWorks erforderlich, denn hiermit wird eingestellt, auf welche Größe das Bild verändert werden soll. Wir können also keine Angaben in Prozent machen, sondern müssen vorher ein bißchen rechnen. Das Seitenverhältnis (aspect ratio) beim C64 ist 8:5 (also 1,6). Die Breite eines Bildes muß 1,6 Mal länger sein als die Höhe, damit es beim Skalieren nicht verzerrt wird.

Die Vorgehensweise fürs Verkleinern ist nun:

(Neue Werte ausrechnen)
Bild laden
Inst: ClipWorks
(Hor:) Wert für neue Breite eingeben
(Ver:) Wert für neue Höhe eingeben
Accept
Inst: Squeeze2Clip
Execute
(Exec Area: Full)
Display

Übrigens ist ein halb so breites Bild nur noch ein Viertel so groß wie das Original (s. mod.Tile).

Hier nun für die am häufigsten vorkommenden Faktoren ein Beispiel mit den passenden Werten. Beachtet bitte: Die Auswahl in ClipWorks ist nicht pixelgenau, sondern muß wegen der Berücksichtigung der Farben auf Kacheln ausgerichtet sein. Daher muß man den Wert für die Höhe manchmal runden. Die Verzerrungen sind aber äußerst gering und hinnehmbar. Seht selbst.


Zuerst das Original. Es ist das Bild "Eagle" von Hugh McMenamin.

Keine Skalierung.

eagle.gif courtesy of Hugh McMenamin


Skalierung: 90% der Breite, nicht ganz verzerrungsfrei

Clipwerte:
Hor = 36 - Ver = 23

eagle 90%


Skalierung: 80% der Breite, ohne Verzerrungen

Clipwerte:
Hor = 32 - Ver = 20

eagle 80%


Skalierung: 70% der Breite, nicht ganz verzerrungsfrei

Clipwerte:
Hor = 28 - Ver = 18

eagle 70%


Skalierung: 60% der Breite, ohne Verzerrungen

Clipwerte:
Hor = 24 - Ver = 15

eagle 60%


Skalierung: 50% der Breite, nicht ganz verzerrungsfrei

Clipwerte:
Hor = 20 - Ver = 13

eagle 50%


Skalierung: 40% der Breite, ohne Verzerrungen

Clipwerte:
Hor = 16 - Ver = 10

eagle 40%


Skalierung: 30% der Breite, nicht ganz verzerrungsfrei

Clipwerte:
Hor = 12 - Ver = 8

eagle 30%


Skalierung: 20% der Breite, ohne Verzerrungen

Clipwerte:
Hor = 8 - Ver = 5

eagle 20%


Skalierung: 10% der Breite, etwas verzerrt

Clipwerte:
Hor = 4 - Ver = 3

eagle 10%


Und spaßeshalber:
Skalierung: 5% der Breite, ziemlich verzerrt

Clipwerte:
Hor = 2 - Ver = 1

eagle 5%


Fertig!


[ zurück ]


Arndt Dettke
support@godot64.de

Copyright © 1998, A. Dettke, letzte Änderung - 10.5.98