🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #186

Re: Jak odczytac BMP, GIF lub JPG

#186
From: Marcin 'Qrczak' Kowalczyk
Date: Thu, 24 Dec 1998 10:57
39 lines
2750 bytes
On Sat, 19 Dec 1998, Marcin Komor wrote:

> Wiem ze BMP jest najprosciej, ale nie znam budowy ani BMP

                        +-------------------------+
                        | KRÓTKI OPIS FORMATU BMP |
                        +-------------------------+
Nagłówek pliku:
WLK  NAZWA POLA                 OPIS
 2   bfType             Sygnatura pliku BMP: 4D42h ("BM")
 4   bfSize             Długość całego pliku
 2   bfRes1             Olać, pisać 0
 2   bfRes2             Olać, pisać 0
 4   bfOffBits          Pozycja rysunku w pliku (= Dług.nagłówka + Dług.palety)
 4   biSize             Długość stąd do końca nagłówka: 40, czasem mniej
 4   biWidth            Szerokość obrazka
 4   biHeight           Wysokość obrazka
 2   biPlanes           Musi być 1
 2   biBitCount         Liczba bitów na piksel (1, 4, 8, 24)
 4   biCompression      Algorytm kompresji: 0 = żaden, 1,2 = RLE
 4   biSizeImage        Wielkość samego rysunku
 4   biXPelsPerMeter    Rozdzielczość pozioma
 4   biYPelsPerMeter    Rozdzielczość pionowa
 4   biClrUsed          Liczba kolorów w palecie, 0 znaczy 2 ** biBitCount
 4   biClrImportant     Olać, pisać 0

Paleta. Każdy kolor zajmuje 4 bajty: B, G, R, ostatni nieużywany.
Oczywiście nie ma palety jeśli biBitCount = 24.

Rysunek. Linie od dołu do góry. Jeśli rysunek nie jest skompresowany, to
każda linia zajmuje (biWidth * biBitCount + 31) shr 3 and not 3 bajtów
(wyrównywanie do dwordów). Bity są używane poczynając od najstarszego.
Rysunek TrueColor: kolejność B, G, R (trzy bajty).

-- 
 __("<    Marcin Kowalczyk * qrczak@knm.org.pl http://kki.net.pl/qrczak/
 \__/       GCS/M d- s+:-- a21 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++
  ^^                W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK                  5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-
Technical Details
Message-ID: <Pine.LNX.4.03.9812241154550.10830-100000@qrnik.knm.org.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
References: <75g8le$7i7$1@helios.man.lublin.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
From: Marcin 'Qrczak' Kowalczyk <qrczak@knm.org.pl>
Newsgroups: pl.comp.lang.pascal
Subject: Re: Jak odczytac BMP, GIF lub JPG
Organization: Klub Nieszkodliwych Manjaków
Lines: 40
Message-ID: <Pine.LNX.4.03.9812241154550.10830-100000@qrnik.knm.org.pl>
References: <75g8le$7i7$1@helios.man.lublin.pl>
Mime-Version: 1.0
In-Reply-To: <75g8le$7i7$1@helios.man.lublin.pl>
Date: Thu, 24 Dec 1998 10:57:57 GMT
NNTP-Posting-Host: 194.204.131.177
X-Complaints-To: abuse@tpsa.pl
X-Trace: news.tpnet.pl 914497077 194.204.131.177 (Thu, 24 Dec 1998 11:57:57 MET DST)
NNTP-Posting-Date: Thu, 24 Dec 1998 11:57:57 MET DST
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit