GIF en PNG
Last updated
Was this helpful?
Last updated
Was this helpful?
Drie bestandsformaten waarmee beeldbestanden (plaatjes, foto’s) verkleind kunnen worden zijn het JPEG-bestandsformaat,het GIF-bestandsformaat en PNG. We behandelen hier GIF en PNG.
GIF (Graphics Interchange Format) is een bestandsformaat voor afbeeldingen met weinig kleuren en scherpe kleurovergangen. GIF is een bestandsformaat dat dus erg geschikt is voor animatieafbeeldingen met vlakken van gelijke kleur, zoals bijvoorbeeld afbeeldingen van stripfiguren. GIF-bestanden krijgen als extensie “.gif”.
Hoe werkt GIF-compressie?
GIF-compressie wordt ook wel LZW-compressie genoemd naar de wiskundigen Lempel, Ziv en Welch, die de techniek verzonnen hebben. Bij GIF-compressie wordt een afbeelding gezien als een aantal horizontale lijnen van pixels. Vanaf linksboven wordt van de afbeelding steeds alleen de kleur en het aantal pixels dat die kleur moet krijgen opgeslagen net als bij RLE.
De eerste twee lijnen van het eerste plaatje van de strip hierboven bestaan uit 100 groene pixels. Er hoeft voor die eerste lijnen dus slechts te worden opgeslagen “groen, 100”.
Bovendien is bij afbeeldingen, die geschikt zijn voor GIF-compressie, het aantal kleuren beperkt (vaak 256 kleuren) en hoeven er dus slechts 8 bits te worden gebruikt per kleur. We laten nu zien wat het verschil is als je minder kleuren gebruikt.
Plaatje
Aantal kleuren en bestandsgrootte
Kleuren: 256
Bestandsgrootte: 6.00 kB
Kleuren: 128
Bestandsgrootte: 5.24 kB
Kleuren: 64
Bestandsgrootte: 4.48 kB
Kleuren: 16
Bestandsgrootte: 2.11 kB
Je ziet dat het verschil tussen 256 en 128 kleuren niet groot is, maar met 16 kleuren ziet het plaatje er toch heel anders uit.
Je ziet dat het plaatje verandert als je minder kleuren gebruikt, dus GIF is op dat moment een lossy manier van comprimeren. Ale een plaatje al weinig kleuren heeft dan kun je met GIF ook lossless comprimeren.
Als alternatief voor GIF bestanden zijn sinds 1995 PNG (Portable Network Graphics) bestanden in het leven geroepen. In een PNG-bestand kan voor elke pixel niet alleen een rood-, groen- en blauwwaarde worden opgegeven, maar ook een transparantie (alpha-waarde). Het gevolg hiervan is dat elke pixel een bepaalde hoeveelheid transparantie kan hebben, bijvoorbeeld helemaal doorzichtig of gedeeltelijk doorzichtig met bijvoorbeeld wat donker rood eroverheen.