phpKF - php Kolay Forum  
Ana Sayfa  |  Yardım  |  Üyeler  |  Giriş  |  Kayıt
 
Forumunuz Hayırlı olsun yenilendi

Resim Ekleme

Bu Sayfadaki Bilgiler 04/05/2007 tarihli ve 5651 sayılı
Bu Sayfadaki Bilgiler 04/05/2007 tarihli ve 5651 sayılı "İnternet Ortamında Yapılan Yayınların Düzenlenmesi ve Bu Yayınlar Yoluyla İşlenen Suçlarla Mücadele Edilmesi Hakkında Kanun" Uyarınca Gerekli Durumlarda İletişim Sağlanabilmesi İçin Eklenmiştir. Lütfen Gerekli Durumlarda Kullanınız... İbrahim uzun Esatpaşa mah 3.demiryollu 1201.sk no:28 menemen/izmir/Türkiye email :Uzun_70@hotmail.com
Forum Ana Sayfası  »  Web dizayn için
 »  Web Tasarımı - Bit ve Byte kavramı, Renk derinlikleri

Yeni Başlık  Cevap Yaz
Web Tasarımı - Bit ve Byte kavramı, Renk derinlikleri           (gösterim sayısı: 978)
Yazan Konu içeriği

boşluk

lovepowerman
[lovepowerman]
lovepowerman

Kullanıcı Resmi

Kayıt Tarihi: 13.09.2010
İleti Sayısı: 2.586
Şehir: İzmir
Durum: Forumda Değil

E-Posta Gönder
Web Adresi
Özel ileti Gönder

Konu Tarihi: 13.03.2011- 13:18
Alıntı yaparak cevapla  


Web Tasarımı - Bit ve Byte kavramı, Renk derinlikleri

Bit sistemi

Bildiğiniz gibi bilgisayar sistemleri 1’lerden ve 0’lardan anlamaktadır. Bu 1 – 0 olayı aslında işlemcide bulunan transistor ün açık ya da kapalı olma durumudur. Genel olarak da mors alfabesi sistemine benzer bir şekilde çalışmaktadır.

Bir dosya kaydedildiği zaman ya da bellekte olduğu zaman bu şekilde 1ler ve 0lar ile yer alır. İşlemcimiz bu bitleri belli parçalar halinde işler bu da sürekli duyduğumuz 32bit – 64bitlik durumdur.

Peki, nasıl oluyor da biz bu 1leri ve 0ları anlamlı şekillerde görmekteyiz? Bilgisayarımızda yüklü olan programlar ilgili dosyalardaki bitleri gruplandırarak anlamı parçacıklara çevirirler.

Örneğin:

İçerisinde 0100000101000010 şeklinde bulunan bir dosyayı:

Notepad ile açtığımız zaman bu sayıyı 8erli gruplayacak: 01000001-01000010; 01000001’i “A” ya, 01000010’i “B” ye eşitleyecek ekrana AB şeklinde yazacaktır.
Aynı dosyayı INTEGER sayı şeklinde yorumlayan bir program 16şar gruplayacak; 16706 şeklinde ekrana yansıtacaktır.

        Okumaların 8in katı şeklinde yapıldığına dikkat edin –LONG değişkeni 32li gruplar ile okunacaktı- . Bu tip gruplamada amaç saklanacak değişken için gerekli en az bit grubunu harcamaktır.

      Byte sistemi



Ağırlık, uzunluk ölçülerinin kat sayılarını hatırlayalım. 1cm in: 10 katı 1dm, 100 katı 1mdir. Fakat bu ölçüler 1er artmaktadır. Bitler gruplandığı zaman 2nin üsleri olacak şekilde artmaktadır. Bitleri 10 a en yakın gruplayacağımız değer: 2 ^3 yani 8 dir.

Benzer şekilde bir byte ın 1000 katını alamayacağımızdan 1000 e en yakın 2 üssü 2^10 = 1024 kullanmaktayız.


Ek bilgi:

Notepad in 8 erli gruplama yaptığını örneğimizde belirtmiştik. Peki, 01000001 i nasıl oluyor da   “A” ya eşitliyor? Yıllar önce bilgisayar sistemleri yine 8 erli gruplama yapmaktaydı fakat bu bitlerden 1 tanesi kontrol biti olarak kullanılmaktaydı ( terminal uygulamalarında gelen verinin doğruluğunu kontrol etmek için) bu sebepten kalan 7bit ( 27 = 128) çeşitli Latin karakterlerine eşitlendi. Bu 128 eşitliğin bir kısmı ekranı ve yazıcıyı kontrol eden özel karakterler olarak belirlendi. Daha sonraları kalan 1bit de bu karakter set ine dahil edildi (28 = 256) ve yeni 128 karakter işletim sistemine bırakıldı. Böylelikle diğer dillerin harfleri işletim sisteminde yapılacak bir seçimle ekrana, yazıcıya gönderebilir duruma geldi. Daha sonra bu sistem geriye uyumlu olarak geliştirilip Unicode sistemleri yaratıldı.
  Dosyaları 8in katları şeklinde okuyup-yazabileceğimizi yukarıda belirtmiştik. Fakat bu demek değildir ki bu bitleri parçalayamayız.
örnek bir program düşünelim, programımızda 2 tane değişken var , her ikisi de 0 – 15 arası değerler alabilmekte, bunu dosyaya en az yer işgal edecek şekilde kaydetmek istiyoruz. (ya da bir web uygulaması olabilir amacımız daha az bant genişliği kullanmaktır)
Onaltılık Sayı Sistemi (HEX)



1byte’ın 256 farklı değer aldığını biliyoruz.   Bu 256 tane farklı durumu ASCII karakterleri ile sembolize edebileceğimizi biliyorsunuz. Fakat ASCII’nin bazı karakterleri ekranda gözükmez, kimisi anlaşılmaz, yarısı dil kütüphanelerine göre değişir. Ayrıca hangi karakterin hangi sayıya karşılık geldiğini ezberlemek çok zordur. Ezberlense bile İngilizce ASCII’yi öğrenen birisi farklı dildeki karşılığını bilemez.
Eğer bu değerleri 0 – 255 şeklinde yazmak istersek

Örnek:

RGB kodunu (temel bilginiz yok ise aşağıdaki konuya göz atabilirsiniz) sembolize etmek istiyorsak şöyle bir ifade kullanabiliriz:

A =255049001   // 255–049-001
bu tip gösterme biçimi gayet anlaşılır olsa da gerek israf edilen veri (256 – 999 arası değerler)   gerekse renklerle ilgili işlemler için hiç de uygun bir saklama yöntemi değildir. Çünkü normalde 24 bit = 16 milyon farklı değer üretirken bu şekilde saklama 999milyon farklı değer alabilmekte 983 milyon gereksiz veriye eşittir.

O zaman öyle bir gösterme biçimi bulalım ki hiç israf olmasın ve bytelar ile çok rahat işlem yapılabilmesini sağlasın.

Ek bilgi :

Bir sayı sisteminde 9 dan sonra gelen rakamlar harfler ile karakterize edilir. 10 = A , 11 = B , 16 = F gibi.
Bir sayı sisteminde belirli bir basamağa kadar oluşturulabilecek sayı adedi o sistemi temsil eden sayının üsleri ile hesaplanabilir. Örneğin: 10luk sistemde 3. Basamağa kadar oluşturulabilecek sayı adedi 102 = 100 (0 – 99) ; 16lık sayı sisteminde 162 = 256 (0 – FF)

16lık sayı sisteminde 2 basamaklı sayılar 256 farklı değer alabildiği için tüm byte değerlerini artma – eksik olmadan tutabilmektedir. Ayrıca tam basamak geçişi olduğu için sadece tek işlemle bytelar ile oynama yapılabilmektedir.

        Örnek:

        RGB değerleri 255-049-001 olan rengi saklayan değişkende yeşil tonunu 10 ton artırın :
       
eğer 10dalık sayı sisteminde saklıyor olsa idik A = 255049001 olacaktı burada KKKYYYMMM yeşil basamağına 10 eklememiz yani A = A + 10000 dememiz yeterli olacaktı.
aynı işlem HEX’de de bu kadar rahat yapılmaktadır :   A = FF3101   olan renk eşitliğimize 10 ton yeşil vermek için KKYYMM ; A = A + 0A00
işlemi yeterli olacaktır.

Renklerin Monitörlerde Oluşumu ve RGB

Sulu boya ile renk karmaya çalışırsak sarı ile mavi yi birleştirdiğimizde yeşil elde ederiz, fakat ışık dalgaları ile bunu oluşturmak istediğimiz de durum biraz farklı oluyor.   Elimizde 3 adet , bir yeşil , bir mavi , bir de kırmızı ışık kaynağı alsak 3 nün birleşimi bize beyaz ışık sunacaktır. Eğer mavi yi söndürecek olursak sarı bir ışık elde ederiz.

Lcd monitörler de tam bu şekilde çalışmaktadırlar. Her renk üreten hücreye piksel adını veriyoruz. Crt monitörlerde ise bu renklere sahip tabaklara arkadan belli güçte ışık verilerek renk elde ediyoruz.Konu ile ilgili ingilizce detaylar için : http://en.wikipedia.org/wiki/Rgb adresini kullanabilirsiniz.

Renklerin farklı parlaklık seviylerinde farklı renkler ürettiğini biliyoruz. RGB ise her renk için 256 adet parlaklık seviyesi belirlenmiş bir modeldir. Yani 24bit (gerçek renk) e eşittir. Evlerimizdeki bilgisayarlar bu standardı destekler. Çok nadir bazı monitörler ve ekran kartları 48bit renk derinliğine çıkabilmektedir.
Daha   detaylı   bilgi için

Dosyayı indirmek için

tıkla

http://www.lovepowerman.net/
__________________

Bu ileti en son lovepowerman tarafından 13.03.2011- 13:19 tarihinde, toplamda 1 kez değiştirilmiştir.

Yeni Başlık  Cevap Yaz



Forum Ana Sayfası  »  Web dizayn için
 »  Web Tasarımı - Bit ve Byte kavramı, Renk derinlikleri

Forum Ana Sayfası

Forum Yazılımı:   php Kolay Forum (phpKF)  ©  2007 - 2010   phpKF Ekibi

Love Power Man

 RSS Beslemesini Görmek için Tıklayın   RSS Beslemesini Google Sayfama Ekle   RSS Beslemesini Yahoo Sayfama Ekle