Arkadaşlar bmp uzantılı dosyaların içeriği hakkında bilgisi olan var mı?
24, 16, 8 bit renk derinliğinde renk bilgilerine nasıl ulaşabiliyoruz?
Alıntı YapEn temel resim formatı BMP'dir. Aslında, BMP'nin birbirinden farklı bir kaç türü var. Özellikle bir X-Windows kullanıcısı ile MS-Windows ya da OS/2 kullanıcısı için farklar mevcut.
X-Windows üzerindeki BMP formatı, sadece 2 rengi desteklemekte. MS-Windows ya da OS/2 üzerindeki BMP formatının X-Windows'daki karşılığı XPM'tir (pixmap). MS-Windows üzerinde BMP 16 ya da daha çok renk kaydedebileceğiniz, herhangi bir sıkıştırma yapmayan oldukça hızlı bir formattır. Bu formatta resmin içindeki renk sayısı değil, resmin büyüklüğu önemlidir.
16 renk, 800x600 çözünürlüğünde bir BMP dosyası, 800x600x1/2=240000 byte yer kaplayacaktır (16 renk icin 4 bit gerekli =1/2byte). Resmin içinde 1, 2 ya da 12 renk olması hiç önemli değil. 256 renk olarak kaydedilen bir dosya ise, 800x600x1=480000 byte yer tutacaktır (256 için 8 bit=1 byte gerekli. 2^8=256).
burda işine yarayan birşey cıkar mı acaba :roll:
@conavar,
Evet o kısmı biliyorum ama asıl mesele renk bilgisinin ne şekilde kodlandığı örneğin 8 bitte 3Red, 3Green, 2Blue mu? veya satır sutun bilgileri nasıl? sıralımı gidiyor? Okumaya hangi bayttan başlıyacağız vs. vs.
gene de çok teşekkür ederim
1. linkte BMP header bilgileri ve 2. linkte delphide yapılmış örnek bir program var. Daha da kapsamlı bilgi istersen "bmp header" olarak arama yap.
http://www.fastgraph.com/help/bmp_header_format.html
http://delphi.about.com/od/graphics/l/aa101803a.htm
010 editor diye bir program var download et ,daha sonra bir bmp dosyayı bu editörle aç bmp dosyanın bütün kısımlarını göebilirsin ve üstünde değişiklik yapabilirsin. kolay gelsin.
Ben hiç sonuç alamadım ama tek renkli bmp dosyalarının uzantısını değiştir (txt) olarak. sonra başarabilirsen iğneyle kuyu kaz.
@akkoyunlu74,
.bmp dosya içeriğini zor da olsa çözdüm. 24 bitten farklı çözünürlükte olan .bmp dosyalarında bir de renk tablosu olayı var. O yüzden en kolay işlenebilen format 3 x 8 bit ve her renk için 1 bayt kullanan 24 bit olanı.
Hocam tebrik ederim. Hazır sonuca ulaşmışsın, elinden geldiğince burada ayrıntıları verip bu konuda çalışma yapmayı amaçlayanlara faydalı olabilirsin.
forumda MMC+nokia 6610 LCD ile yaptığım uygulama var, orda .bmp formatının dönüşümünü yapan bir kod da var, vaktim olursa .bmp dosyasını da anlatırım.
herhangi bir image ister bilgisayarda isterse herhangi bir mikrodenetleyicide matris şeklinde ifade edilir.matrisin 3 boyutu vardır r,g,b(red,green,blue)
ve resim belirtilirken 256x256x3 şeklinde ifade edilebilir.bu ifadede herbir pixel için 3 ayrı renk değeri vardır r,g,b nin herbiri için 8 bitlik bir sayı bu resmin boyutuna göre oluşan bir matrisi ifade eder.herhangi bir pixel aktif durumdayken renk bilgisi r,g,b nin farklı değerleri için 8 bitlik sayılar ağırlıklarına göre bir analog işarete dönüştürülür ve her 8 it sonuçta analog bir genrilim genliği ifade edecek şekilde rgb ledin ilgili uçlarına uygulanır.istenilen renk değeri kaliteye göre 8,9,,,n bit şeklinde bu şekilde görüntülenebilir.biraz karışık oldu ama umarım anlatabilmişimdir.kolay gelsin.
256 x 256 x 3
yatay dikey
boyut boyut renk boyutu(rgb)
bu değerler
VGA-480 640 480
VGA-400 640 400
SVGA I 800 600
SVGA II 800 600
SVGA III 800 600
XGA 1024 768
boyutlarına uyarlanır..