Cheatah: GIF-Dateiformat (2)

Beitrag lesen

Hi Klaus,

+-+-----+-+-----+      M = 1, Global color map follows Descriptor
  |M|  cr |0|pixel|  5   cr+1 = # bits of color resolution
  +-+-----+-+-----+      pixel+1 = # bits/pixel in image

cr scheint etwa so zu laufen: Farbauflösung aus 2^(3*(cr+1)) Farben, also z.B. cr=%111=7 => 2^(3*8) = 2^24 Farben => Truecolor.
pixel ist dagegen die Größe der Farbpalette, also pixel=%111=7 => 2^(pixel+1)=2^8=256 Farben in der Palette. Jede dieser Farben wird mit 3*(cr+1) Bit (R/G/B) kodiert.

|   background  |  6   background=Color index of screen background

Dies scheint wichtig zu sein, weil der Image Descriptor (ich bin schon weiter *g*) zunächst Position und Größe des Einzelbildes definiert. Das Bild kann nach rechts und unten verschoben sein und durch seine Größe auch unten und rechts noch einen Rand lassen.

Ich habe mal einen Beispielheader für eine 256-Farben-Grafik (von weiß nach rot in Truecolor) der Größe 320x240 aufgebaut, der bis kurz vor die eigentlichen Pixel geht:

GIF87a
$01$40    Breite=320
$00$F0    Höhe=240
%11110111 256 Farben Truecolor
$00       Hintergrundfarbe=Farbe Nr. 0
$00       Trennzeichen
$FFFFFF   weiß (erste Farbe)
...
$FF0000   rot (256. Farbe)
%00101100 Image Seperator (",")
$00$00    linker Rand
$00$00    oberer Rand
$01$40    Breite Einzelbild
$00$F0    Höhe Einzelbild
%00000000 non-interlaced mit globaler Farbpalette

Jetzt muß ich mich erst mal schlau machen, ob (ich glaube ja) die lokale Farbpalette einfach entfällt, und wie ich dann das eigentliche Bild aufbaue. Wäre aber nett, wenn Du mit Deinen Erkenntnissen noch mal nachschauen würdest, ob das bisher alles so stimmt!

Cheatah

0 50

GIF-Dateiformat (1)

Klaus Junge
  1. 0

    GIF-Dateiformat (2)

    Klaus Junge
    1. 0
      Cheatah
      1. 0
        m0b
        1. 0
          m0b
          1. 0
            Cheatah
          2. 0
            Stefan Muenz
            1. 0
              Cheatah
    2. 0
      Cheatah
      1. 0
        Klaus Junge
        1. 0
          Klaus Junge
          1. 0
            Cheatah
            1. 0
              Klaus Junge
              1. 0
                Cheatah
    3. 0

      GIF-Dateiformat (2a)

      Klaus Junge
      1. 0
        Cheatah
        1. 0
          Klaus Junge
          1. 0
            Cheatah
            1. 0
              Klaus Junge
              1. 0
                Cheatah
              2. 0
                Calocybe
                1. 0
                  Cheatah
                  1. 0
                    Calocybe
                    1. 0
                      Cheatah
                      1. 0
                        Calocybe
        2. 0
          Jörk Behrends
  2. 0
    Olaf Grönemann
  3. 0

    GIF-Dateiformat (k1)

    Klaus Junge
    1. 0

      GIF-Dateiformat (k2)

      Klaus Junge
      1. 0
        Cheatah
        1. 0
          Klaus Junge
          1. 0
            Cheatah
      2. 0

        GIF-Dateiformat (k3)

        Klaus Junge
        1. 0
          Cheatah
        2. 0

          GIF-Dateiformat (k4)

          Klaus Junge
  4. 0

    GIF-Dateiformat (3=Palette)

    Klaus Junge
    1. 0
      Cheatah
      1. 0
        Klaus Junge
        1. 0
          Cheatah
  5. 0

    Aktueller Stand der Dinge

    Cheatah
    1. 0
      Klaus Junge
      1. 0
        Cheatah
      2. 0
        Calocybe
        1. 0
          Cheatah
  6. 0

    GIF-Dateiformat (test_1)

    Klaus Junge
    1. 0
      Cheatah
      1. 0
        Klaus Junge
        1. 0
          Klaus Junge
          1. 0
            Calocybe
          2. 0
            Cheatah