Format File GIF



            Format File GIF
            Format file GIF ( Graphics Interchange Format) merupakan hasil rancangan CompuServe Incorporated. Format ini dirancang untuk memudahkan pertukaran citra bitmap antarkomputer. GIF hanya mendukung resolusi warna sampai 256 warna (8-bit) [HPJ90]
            Format file GIF memiliki dua versi yaitu GIF 87a dan GIF89a. Versi GIF89a diperkenalkan pada bulan Juli 1989 merupakan perbaikan dari versi GIF87a. Pada GIF89a ditambahkan kemampuan untuk menampilkan citra dengan latar belakang transparan ( background transparency), penyimpanan data citra secara interlaced dan kemampuan untuk menampilkan citra animasi.
            GIF menggunakan variable-length code yang merupakan modifikasi dari algoritma LZW (Lemple-Ziv Wetch) untuk mengkompresi data citra. Teknik kompresi data ini mampu menghasilkan kompresi yang baik dan merupakan teknik kompresi yang mampu mengembalikan data sama persis dengan aslinya (lossless data comperssion).
Format lengkap file citra GIF dapat dilihat pada tabel berikut ini.
Tabel 2.4  Format File GIF
Name
Size
Description
Signature
6 bytes
‘GIF87a’ or ‘GIF89a’
Global Descriptor
7 bytes
Always present

Width
2 bytes
Width in pixels

Height
2 bytes
Height in pixels

Flags
1 bytes
Global descriptor flags


Global Color Map
Bit 7
=1 if Global ColorMap exists (should be true in almost all cases)
=0 if default map is used. Or if every citra has a Local Color Map


Color Resolution Bits
Bit 6-4
+1 = significant bits per color in Global Color Map


Reserved
Bit 3
= 0


Pixel Bits
Bit 2-0
+1 = Color Depth, Number of Global Colors := 2colordepth

Background Color
1 byte
Background color number (from Global Color Map or default map)

Aspect Ratio
1 byte
Usually =0
Global Color Map
Number of Global Colors * 3
Global color table, present only when Global Descriptor Flags Global Color Map =1


Red
1 byte
Red intensity of color (not necessarily 8 significant bits)


Green
1 byte
Green intensity of color (not necessarily 8 significant bits)


Blue
1 byte
Blue intensity of color (not necessarily 8 significant bits)

Repeated Number Of Global Colors Times
Extension Blocks
Cannot be pre calculated
Optional, may be repeated any number of times. Read first byte to check its precense

Header
1 byte
= $21

Function Code
1 byte
There is a list of known function codes


Length
1 byte
>0 !


Data
Length bytes
Interpretation of this data depends on its function code

Repeated any number of times. Read first byte to check for terminator

Terminator
1 byte
= 0
Local Descriptor
10 bytes
Local descriptor, always present

Header
1 bytes
=$2C

Pos X
2 bytes
Horizontal position of citra in global citra

Pos Y
2 bytes
Vertical position of citra in global citra

Width
2 bytes
Width of citra

Height
2 bytes
Height of citra

Flags
1 bytes
Local descriptor Flags


Local Color Map
Bit 7
=1 if Local Color Map exists
=0 if Global Color Map (or default map) is used


Interlaced Citra
Bit 6
=1 Interlaced!
=0 Non Interlaced


Sorted
Bit 5
Usually =0


Reserved
Bit 4-3
=0


Pixel Bits
Bit 2-0
-1= Color Depth,
Number of Local Colors := 2color depth
Local Color Map
Number of Local Color * 3
Local color table, present only when local Descriptor Flags. Local Color Map =1


Red
1 byte
Red intensity of color


Green
1 byte
Green intensity of color


Blue
1 byte
Blue intensity of color

Repeated number of Local Color times
Rasted DataBlock
Cannot be pre calculated
Always present

Initial Code Size
1 byte
Usually = Color Depth, except for balck & white, where it is 2!


Length
1 byte
>0


Data
Length bytes
The pixel data bit stream. See decompression and compression schemes

Repeated any number of times, read first byte to check for terminator

Terminator
1 byte
=0!
Extension Blocks
Cannot be pre calculated
Optional. Read first byte to check its presence

Format is identical to the Extension Block above
Terminator
1 byte
=$3B






Popular posts from this blog

Cara Mengukur Trimpot

Cara Mengatasi E31 Canon MP258

Persamaan Transistor Amplifier