Thursday, 12 July 2012

PS Congroo Ell

Werao setelah berhasil diubah, maka prosedur ini akan berjalan sebagai berikut:
* procedure ini akan membuka file bitmap.
[Bagian file header (bit 0 - 13)]
* mengecek bit 0 - 1 (Bila BM, maka file tersebut adalah bitmap)
* membaca ukuran file (bit 2 - 5)
* membaca reserved bytes (bit 6 - 9)
* membaca bytes offset (bit 10 - 13)
[Bagian info header (bit 14 - 53)]
* membaca ukuran file header (bit 14 - 17)
* membaca width image (bit 18 - 21
* membaca height image (bit 22 - 25)
*membaca Plane image (bit 26 - 27), pada kasus ini harus bernilai 1
* membaca jumlah bit per pixel (bit 28 - 29)
* membaca tipe kompresi (bit 30 - 33)
* membaca ukuran kompresi (bit 34 - 37)
* membaca resolusi horizontal (bit 38 - 41)
* membaca resolusi Vertikal (bit 42 - 45)
* membaca berapa warna yang digunakan (bit 46 - 49)
* membaca warna penting yang digunakan (bit 50 - 53)

->dikarenakan aturan tugas werao, maka di program hanya diperlihatkan kedalaman warna,ukuran citra, dan besarnya file.

[Bagian pembacaan terhadap color map, mulai dari bit 54]
Color map tidak selalu sama, tergantung tipe bit yang digunakan.perhitungannya adalah 4*(2^x bit), maka
bisa didapatkan hasil sebagai berikut :
-tipe 1 bit => color map = 4*(2^1) = 4*2 = 8
-tipe 4 bit => color map = 4*(2^4) = 4*16 = 64
-tipe 8 bit => color map = 4*(2^8) = 4*256 = 1024
-tipe 24 bit => color map = 4*(2^24)= 67108864

-> Function weraoBinToInt(Value: string): Integer
 Fungsi ini werao berfungsi sebagai pengubah bilangan biner bertipe string ke bilangan biner bertipe integer. Fungsi ini akan membaca panjang string biner lalu satu per satu bitnya dicek nilainya:
*Bila sama dengan 1 maka hasilnya akan ditambahkan dengan bit 1 ditambah dengan panjang string dikurang nomor
string yang di cek.
*Bila 0, maka tidak terjadi apa-apa.

-> Function IntToBin2(d : Longint): string
Berfungsi sebagai pengubah bilangan desimal type long integer menjadi bilangan biner bertipe string. Fungsi ini akan mencari bilangan decimal lalu dibinerkan per bit biner sampai bit terakhir,lalu dilihat hasilnya:
* bila jumlahnya ganjil maka bilangan biner tersebut di genapkan bitnya dengan menambahkan 1 bit biner,
  * bila genap ditambahkan dengan 0 bit biner. werao Setelah itu bilangan biner tersebut digeser ke kanan sebanyak 1 bit.

No comments:

Post a Comment