Hallo! Lese gerade Euren Dialog. Mmh, naja, mir persoenlich bringt's nicht viel, da ich die gif-spec selbst schon mal zu lesen angefangen habe, aber fuer die anderen ist sicherlich interessant.
Zu diesem Posting will ich aber kurz was korrigieren:
600/800 = 0,75
800/1024 = 0,78...Die Differenz ist zwar nicht groß, korrekt läßt sich das Bild aber nicht bei beiden Auflösungen
unverzerrt darstellen. Dieses ist umso wahrer wenn Du von einem auf den anderen Bildschirm gehst.
Die zweite Aufloesung heisst doch nicht 1024x800, sondern 1024x768. Und dann isses auch wieder 0.75. Die meisten Aufloesungen im PC-Bereich haben das Seitenverhaeltnis (=aspect ratio) von Breite:Hoehe = 4:3. Nur 320x200 tanzt da aus der Reihe. Naja, die Erfinder von GIF haben sicher auch (bzw. hauptsaechlich) an andere Plattformen gedacht. Z.B. gab's da beim Amiga mal eine Aufloesung von 320x256.
Wenn Du jetzt ein Bild fuer die PC-Standardverhaeltnisse bauen willst, dann muss imho eine Aspect ratio von 1 (= 0 im Feld Pixel Aspect Ratio) verwendet werden. Die Ausmasse des Bildschirms sind zwar in der Breite groesser, als in der Hoehe (jetzt mal in cm), aber dafuer werden da auch entsprechend mehr Pixel dargestellt. Letztendlich heisst das, dass die Pixel quadratisch sein muessen, also aspect ratio = 1 (width:heigt = 1:1). Um beim Beispiel vom Amiga zu bleiben: Das Seitenverhaeltnis bezogen auf die Groesse des Bildschirms ist dort auch 4:3 (weil ein herkoemmlicher Bildschirm nunmal diese Ausmasse hat), das Verhaeltnis der dargestellten Pixel waere aber 320:256 = 5:4. Das muss ausgeglichen werden. Sagen wir der einfachkeit halber, der Bildschirm ist 400mm x 300mm gross, dann ist jeder Pixel 400mm:320 = 1.25mm breit und 300mm:256 = 1.171875mm hoch. Damit haben wir eine aspect ratio von 1.25:1.17 = 1.06667. Das ist das, was bei der Formel
Aspect Ratio = (Pixel Aspect Ratio + 15) / 64
auf der linken Seite herauskommen muss. ("Pixel Aspect Ratio" ist der Name des Feldes im Screen descriptor, "Aspect Ratio" ist das Seitenverhaeltnis des Pixels, wie er auf dem Bildschirm gemalt wird, wenn ich das richtig verstanden habe (verwirrend, was?).) Der Wert, den man in das Feld schreiben muesste, waere demnach
PixelAspectRatio = 1.06667 * 64 - 15 = 53. Jetzt weiss ich nur nicht, was man machen muss, wenn man das Bild anzeigt und auf so einen Wert trifft. Aber ich glaube, herkoemmliche Bildbetrachter ignorieren diesen Wert, wodurch z.B. ein Bild, das fuer 320x200 entwickelt wurde, auf einer 4:3-Aufloesung ziemlich dumm aussieht.
Das alles, wie gesagt: IMHO. (Hoffentlich habt ihr jetzt nicht das Thema GIF aufgegeben ;-))
Und die Praxis? Einfach 0 an diese Stelle schreiben!
Calocybe