Cuma, Haziran 2, 2023

DIB

.dib dosyası nedir?

Aygıttan Bağımsız bir bitmap (DIB), yapı olarak standart Bitmap dosyalarına (BMP/image/bmp/) benzeyen bir raster görüntü dosyasıdır. RGB renklerinin piksel değerlerine eşlenmesini açıklayan bir renk tablosu içerir.

Bu, DIB’nin görüntüyü herhangi bir cihazda temsil etmesini sağlar. MacOS’un yanı sıra Windows’ta standart bir BMP dosyası açabilen hemen hemen tüm uygulamalarla açılabilir. DIB, ikili dosyalardır ve BMP’ye benzer karmaşık bir dosya biçimine sahiptir.

DIB görüntüleri, renk derinliği ve inç başına piksel açısından işleme cihazlarının çıktı kapasitelerinden bağımsızdır.

DIB Dosya Biçimi Özellikleri

Bir DIB, aşağıdaki renk ve boyut bilgilerini içerir:

  • Dikdörtgen görüntünün oluşturulduğu cihazın renk formatı.
  • Dikdörtgen görüntünün oluşturulduğu cihazın çözünürlüğü.
  • Görüntünün oluşturulduğu cihazın paleti.
  • Dikdörtgen görüntüdeki kırmızı, yeşil, mavi (RGB) üçlülerini piksellere eşleyen bir bit dizisi.
  • Bit dizisinin boyutunu azaltmak için kullanılan veri sıkıştırma şemasını (varsa) gösteren bir veri sıkıştırma tanımlayıcısı.

DIB Veri Bloğu formatı

DIB, diskte depolanan .DIB dosyalarına kıyasla bellek bloğu bağlamında gelir. Bellek bloğu, DIB’ler için Windows API belirtimlerine uygun yapıdan oluşur. Gerçek DIB şunlardan oluşur:

  • Bir başlık
  • Renk paleti
  • Piksel Verileri

Pratik olarak, palet, başlık ve görüntü verileriyle çalışmak, sanki üç ayrı bellek bloğuymuş gibi yapılır. Bu ortak bellek bloğuna GlobalAlloc kullanılarak bir tanıtıcı atanır ve başlık, renk tablosu ve piksel verilerini ayıklamak ve bunlarla çalışmak için kullanılan HDIB olarak bilinir.

Yapılar

Bir DIB’de bulunan bilgiler farklı yapılarla temsil edilir. Bunlar şunları içerir:

BITMAPInfo – DIB’ler için boyut ve renk bilgilerini tanımlar

typedef struct tagBITMAPINFO {
  BITMAPINFOHEADER bmiHeader;
  RGBQUAD          bmiColors[1];
} BITMAPINFO, *LPBITMAPINFO, *PBITMAPINFO;

Bir BITMAPINFOHEADER’dan oluşur:

typedef struct tagBITMAPINFOHEADER {
  DWORD biSize;
  LONG  biWidth;
  LONG  biHeight;
  WORD  biPlanes;
  WORD  biBitCount;
  DWORD biCompression;
  DWORD biSizeImage;
  LONG  biXPelsPerMeter;
  LONG  biYPelsPerMeter;
  DWORD biClrUsed;
  DWORD biClrImportant;
} BITMAPINFOHEADER, *PBITMAPINFOHEADER;

ardından iki veya daha fazla RGBQAD yapısı.

typedef struct tagRGBQUAD {
  BYTE rgbBlue;
  BYTE rgbGreen;
  BYTE rgbRed;
  BYTE rgbReserved;
} RGBQUAD;

Veri bitleri

Bit Açıklama
1-bit formatı (tek renkli) Tek renkli bit eşlemler iki renkten (siyah ve beyaz) oluşur. Bu sınırlı sayıda renk nedeniyle, bu bit eşlemler diskte daha az yer kaplar. bitBitCount, her iki rengin temsili için doğru veya yanlış döndürür. bitBitCount==1 ise, uygulamaların çoğu paleti tamamen atlar.
4 bit formatı (VGA veya 16 renk) Görüntü verilerinin her baytı iki pikseli temsil eder ve bitBitCount==4. Bu bitler, azalan sırada pikselin rengini temsil eder.
8 bit format (256 renk) Bu 8 bit format maksimum 256 rengi temsil edebilir. Görüntünün bitmap veri dizisindeki her bayt, tek bir pikseli temsil eder. Bu baytın değeri, bmciColors tarafından temsil edildiği şekliyle 256 girişten kullanılacak renk paleti girişinin numarasıdır.
24 bit format (TrueColor) Bu bitmap’ler maksimum 2^24 renge sahip olabilir (biBitCount == 24). Bitmap veri dizisindeki her üç baytlık dizi, bir pikselin üç ana tonunun göreli yoğunluğunu temsil eder. Tonlar, 0 ile 255 arasında değişen değerler olarak tanımlanır ve Mavi, Yeşil ve Kırmızı sırasıyla üç baytta saklanır. Bu önemli bir ayrımdır, çünkü Windows’ta renk referanslarının çoğu ters sırayı kullanır: Kırmızı/Yeşil/Mavi, bu nedenle TrueColor görüntülerle çalışırken “RGB” yerine “BGR”yi düşünün. Windows için çizim sürecini hızlandırmak için bir renk paleti belirtilebilir, bu durumda biClrUsed 0 olmaz. Ancak gördüğünüz gibi, piksel verilerinin kendisi renk bilgisini içerdiğinden buna gerek yoktur.
32 bit biçim 32 bit görüntülerde maksimum 2^24 renk bulunur (biBitCount == 24).

Referanslar

Önceki İçerikCPC
Sonraki İçerikDDS
RELATED ARTICLES

.man

.man dosyası nedir? .man uzantılı bir dosya, yazılım dokümantasyonu biçiminde bir Unix programlama kullanım kılavuzu olan man sayfası anlamına gelir. Belgeleri görüntülemek için kullanılan Unix’te...

MD

MD dosyası nedir? Markdown dil lehçeleriyle oluşturulan metin dosyaları .md veya .MARKDOWN dosya uzantısıyla kaydedilir. MD dosyaları, girintiler, tablo biçimlendirme, yazı tipleri ve başlıklar gibi bir metnin nasıl biçimlendirilebileceğini...

ODM

ODM dosyası nedir? .odm uzantılı bir dosya, içinde bağlantılı bir veya daha fazla .odt dosyası içeren bir OpenDocument Ana belge dosyasıdır. Bu alt belgelerin tümü tek bir...

Most Popular

Apple, iOS 17 Lansmanından Önce iOS 16.6, iPadOS 16.6, macOS Ventura 13.5, watchOS 9.6, Daha Fazla Beta 2’yi Yayınladı

Apple, yaklaşan iOS 16.6, iPadOS 16.6, macOS Ventura 13.5, watchOS 9.6 ve tvOS 16.6'nın ikinci geliştirici beta sürümünü, ilk derlemede ele alınmayan hata düzeltmeleri...

Bitdefender Antivirus Ücretsiz İncelemesi: Güvenli ve Hafif

İNCELEME BİLGİSİ Uygulama: Bitdefender Antivirus Ücretsiz İncelendi:16 Mayıs 2023 UYGULAMA ÖZELLİKLERİ Güçlü antivirüs koruması Sezgisel, kullanımı basit arayüz Sistem performansı üzerinde minimum etki Windows Defender'ı geride bırakmak...

Notepad++ İncelemesi: Bugün Hala Geçerli mi?

İNCELEME BİLGİSİ Uygulama: Notepad++ İncelendi:12 Mayıs 2023 UYGULAMA ÖZELLİKLERİ Kullanıcı dostu ve özelleştirilebilir arayüz Çoklu Dil Desteği Makro kayıt ve oynatma Windows kadar eski gömülü bir araç...

OCCT İncelemesi: Sisteminizin Kararlılığını Test Eder

 İNCELEME BİLGİSİ Uygulama: OCCT İncelendi:8 Mayıs 2023 UYGULAMA ÖZELLİKLERİ CPU ve RAM'inizi karşılaştırın Bireysel donanım bileşenlerine stres testi yapın Her stres testini ihtiyaçlarınıza göre yapılandırın Kapsamlı...

Recent Comments