Basisbeginselen van het werken met bitmaps

Flash Player 9 of hoger, Adobe AIR 1.0 of hoger

Wanneer u met digitale afbeeldingen werkt, komt u doorgaans waarschijnlijk twee typen afbeeldingen tegen: bitmap en vector. Bitmapafbeeldingen, ook wel rasterafbeeldingen genoemd, bestaan uit kleine vierkantjes (pixels) die in een rechthoekige rasterformatie zijn gerangschikt. Vectorafbeeldingen bestaan uit wiskundig gegenereerde geometrische vormen als lijnen, curven en veelhoeken.

Bitmapafbeeldingen worden gedefinieerd op basis van de breedte en hoogte van de afbeelding, gemeten in pixels, en het aantal bits in elke pixel, waarmee wordt aangegeven hoeveel kleuren een pixel kan bevatten. In een bitmapafbeelding waarin wordt gebruikgemaakt van het RGB-kleurmodel bestaan de pixels uit drie bytes: rood, groen en blauw. Elk van deze bytes bevat een waarde variërend van 0 tot 255. Wanneer de bytes in de pixel worden gecombineerd, wordt een kleur geproduceerd op een wijze vergelijkbaar met het mengen van verfkleuren. Een pixel met de bytewaarden rood-255, groen-102 en blauw-0 resulteert bijvoorbeeld in een levendige oranje kleur.

De kwaliteit van een bitmapafbeelding is afhankelijk van de resolutie van de afbeelding en de bitwaarde voor de kleurdiepte. Resolutie heeft betrekking op het aantal pixels in een afbeelding. Hoe groter het aantal pixels, hoe hoger de resolutie en hoe scherper de afbeelding. Kleurdiepte heeft betrekking op de hoeveelheid gegevens die een pixel kan bevatten. In een afbeelding met een kleurdieptewaarde van 16 bits per pixel kunnen bijvoorbeeld niet evenveel kleuren worden gebruikt als in een afbeelding met een kleurdiepte van 48 bits. Als gevolg daarvan is het verloop in de 48-bits afbeelding vloeiender dan in de 16-bits afbeelding.

Omdat bitmapafbeeldingen resolutieafhankelijk zijn, kunnen ze niet goed worden geschaald. Dit valt vooral op wanneer bitmapafbeelding worden vergroot. Wanneer een bitmap wordt vergroot, gaat dit doorgaans ten koste van de gedetailleerdheid en kwaliteit.

Bestandsindelingen voor bitmaps

Bitmapafbeeldingen worden gegroepeerd in een aantal gangbare bestandsindelingen. In deze indelingen worden verschillende typen compressiealgoritmes gebruikt om de bestandsgrootte te beperken en de afbeeldingskwaliteit te optimaliseren op basis van het uiteindelijke doel van de afbeelding. De bitmapafbeeldingsindelingen die worden ondersteund door Adobe-runtimes zijn BMP, GIF, JPG, PNG, and TIFF.

BMP

De indeling BMP (bitmap) is de standaardindeling voor afbeeldingen in het besturingssysteem Microsoft Windows. Hierin worden geen compressiealgoritmen gebruikt; dit leidt daarom gewoonlijk tot grotere bestandsomvangen.

GIF

De GIF-indeling (Graphics Interchange Format) is in 1987 door CompuServe ontwikkeld om afbeeldingen met 256 kleuren (8-bits kleur) te kunnen verzenden. De bestandsgrootte van deze afbeeldingen is klein en is ideaal voor webafbeeldingen. Vanwege het beperkte kleurenpalet van deze indeling zijn GIF-afbeeldingen doorgaans niet geschikt voor foto’s, waarvoor over het algemeen een hoge mate van schaduw- en kleurverloop vereist is. In GIF-afbeeldingen is 1-bits transparantie mogelijk, zodat kleuren doorzichtig (of transparant) kunnen worden weergegeven. In dat geval is de achtergrondkleur van de webpagina in de gebieden die zijn ingesteld als transparant door de afbeelding heen te zien.

JPEG

De bestandsindeling JPEG (vaak geschreven als JPG) is ontwikkeld door en genoemd naar de Joint Photographic Experts Group en gebruikt een algoritme voor compressie met verlies om 24-bits kleurdiepte in bestanden met een beperkte bestandsgrootte mogelijk te maken. Compressie met verlies betekent dat wanneer het bestand wordt opgeslagen, de kwaliteit van de afbeelding minder wordt en er gegevens verloren gaan. De JPEG-indeling is ideaal voor foto’s omdat hierin miljoenen kleuren kunnen worden weergegeven. Omdat u kunt bepalen welk compressieniveau wordt toegepast op de afbeelding, hebt u invloed op de afbeeldingskwaliteit en bestandsgrootte.

PNG

DE PNG-indeling (Portable Network Graphics) is ontwikkeld als open-bronalternatief voor de gepatenteerde bestandsindeling GIF. PNG-bestanden bieden ondersteuning voor een kleurdiepte van maximaal 64 bits en 16 miljoen kleuren. Omdat PNG een relatief nieuwe indeling is, worden PNG-bestanden in sommige oudere browsers niet ondersteund. In tegenstelling tot JPG-bestanden wordt in PNG-bestanden gebruikgemaakt van compressie zonder verlies. Dit betekent dat er geen gegevens verloren gaan wanneer de afbeelding wordt opgeslagen. PNG-bestanden bieden tevens ondersteuning voor alfatransparantie, zodat er 256 transparantieniveaus kunnen worden toegepast.

TIFF

De indeling TIFF (Tagged Image File Format) was de platformoverschrijdende keuze voordat PNG werd geïntroduceerd. Het nadeel van de indeling TIFF is dat geen enkele lezer elke versie kan verwerken omdat er zoveel varianten van TIFF bestaan. Bovendien wordt de indeling tot op heden door geen enkele webbrowser ondersteund. TIFF kan zowel compressie met als zonder verlies gebruiken, en kan met apparaatspecifieke kleurruimten (zoals CMYK) werken.

Transparante en dekkende bitmaps

In bitmapafbeeldingen in de GIF- of PNG-indeling kan nog een extra byte (alfakanaal) worden toegevoegd aan elke pixel. Deze extra pixelbyte wordt gebruikt voor de transparantiewaarde van de pixel.

GIF-afbeeldingen bieden ondersteuning voor 1-bits transparantie. Dit betekent dat u één transparante kleur kunt opgeven in een palet met 256 kleuren. In PNG-bestanden kunnen daarentegen 256 transparantieniveaus worden toegepast. Deze functie is met name nuttig wanneer een afbeelding of tekst moet overvloeien in de achtergrond.

ActionScript 3.0 dupliceert deze extra transparantiepixelbyte in de klasse BitmapData. Net als het PNG-transparantiemodel, biedt ActionScript tot 256 transparantieniveaus.

Belangrijke concepten en termen

De volgende lijst bevat belangrijke termen die u tegenkomt wanneer u leert over bitmapafbeeldingen:

Alfa
Het transparantieniveau (of preciezer, opaciteit) in een kleur of afbeelding. De hoeveelheid alfa wordt vaak beschreven als de alfakanaalwaarde.

ARGB-kleur
Een kleurschema waarin de kleur van elke pixel een mengeling van de kleurwaarden rood, groen en blauw en de transparantie ervan wordt opgegeven als een alfawaarde.

Kleurkanaal
Kleuren worden over het algemeen weergegeven als een mengeling van een aantal basiskleuren; gewoonlijk (voor computerafbeeldingen) rood, groen en blauw. Elke basiskleur wordt beschouwd als een kleurkanaal en de uiteindelijke kleur wordt bepaald op basis van de hoeveelheid kleur in de verschillende kanalen.

Kleurdiepte
Dit staat ook bekend als bitdiepte en verwijst naar de hoeveelheid computergeheugen die aan elke pixel wordt toegewezen. Dit bepaalt het aantal mogelijke kleuren dat in de afbeeldingen kan worden weergegeven.

Pixel
De kleinste gegevenseenheid in een bitmapafbeelding, in feite een gekleurde stip.

Resolutie
De pixeldimensies van een afbeelding, die het niveau van fijnkorrelige details in de afbeelding bepaalt. De resolutie wordt vaak uitgedrukt in het aantal pixels in de breedte en hoogte.

RGB-kleur
Een kleurschema waarin de kleur van elke pixel wordt weergegeven als een mengeling van rood-, groen- en blauwwaarden.