Windows Bitmap (.bmp)
Microsoft ΤυπικόΤο Bitmap Image File (BMP) είναι η βασική, ανεξάρτητη από συσκευę μορφή γραφικών ράστερ της Microsoft, η οποία αποθηκεύει ασυμπίεστες γραμμές σάρωσης ή γραμμές σάρωσης συμπιεσμένες με RLE, με άμεση συμβατότητα με το framebuffer του υλικού.
Μετατροπή BMP σε PNG
Δωρεάν μετατροπέας από BMP σε PNG εντός του προγράμματος περιήγησης. Μετατρέψτε αρχεία άμεσα στη συσκευή σας.
Επιθεώρηση & Μεταδεδομένα
Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία BMP ελέγχοντας την αρχική δυαδική ακολουθία byte:
Υπογραφή κεφαλίδας σε επίπεδο byte (Magic Bytes)
Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία BMP ελέγχοντας την αρχική δυαδική ακολουθία byte:
ΔΕΚΑΕΞΑΔΙΚΗ ΥΠΟΓΡΑΦΗ (OFFSET 0):
42 4DΑΝΑΠΑΡΑΣΤΑΣΗ ASCII: BM
Τυποποίηση: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Τεχνικές Προδιαγραφές
| Αρχιτεκτονική Περιέκτη | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Συμπίεση | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| Endianness Byte | Little-Endian (Intel x86 byte order) |
| Χρωματικοί Χώροι | Device Dependent RGB, sRGB (BITMAPV5HEADER embedded) |
| Κανάλια & Δομή | 1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA |
| Μέγιστες Διαστάσεις | 2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer) |
| Διαφάνεια | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Streaming & Προοδευτική Φόρτωση | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Τεχνικός Πίνακας Σύγκρισης: BMP έναντι Ανταγωνιστών
| Τεχνικό χαρακτηριστικό | BMP (Τρέχον) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Λειτουργία συμπίεσης | Ασυμπίεστο / Ελάχιστο RLE | Deflate χωρίς απώλειες (~70% μικρότερο) | Ασυμπίεστο / LZW / Zip | DCT με απώλειες (~90% μικρότερο) |
| Ταχύτητα αποκωδικοποίησης | Στιγμιαία αντιγραφή μνήμης | Απαιτεί αποσυμπίεση Deflate | Απαιτεί αποσυμπίεση LZW/ZIP | Απαιτεί υπολογισμό IDCT |
| Σειρά γραμμών σάρωσης | Από κάτω προς τα πάνω (αντιστραμμένη) | Από πάνω προς τα κάτω | Από πάνω προς τα κάτω / Λωρίδες | Μπλοκ MCU από πάνω προς τα κάτω |
| Καταλληλότητα για τον ιστό | Πολύ κακή (διογκωμένα ωφέλιμα φορτία) | Εξαιρετική για γραφικά | Κακή (επιτραπέζια έκδοση) | Εξαιρετική για φωτογραφία |
Συνηθισμένοι Τρόποι Διαφθοράς & Οδηγός Ανάκτησης Hex
Η εικόνα αποδίδεται διαγώνια κομμένη ή στραvή υπό γωνία.
Βασική Αιτία: Εσφαλμένος υπολογισμός συμπλήρωσης γραμμών (αποτυχία συμπλήρωσης κάθε γραμμής σάρωσης σε όριο 4 byte).
Ανάκτηση: Επανακωδικοποίηση με χρήση του File2Field Image Converter για την επιβολή της σωστής διαδρομής γραμμής σάρωσης 32-bit.
Ανάλυση Ασφάλειας & Διανύσματα Επίθεσης Parser
Οι αποκωδικοποιητές BMP συχνά υποφέρουν από υπερανανάγνωση μνήμης buffer κατά την κατανομή buffer με βάση μη έμπιστες διαστάσεις κεφαλίδας DIB.
Γνωστά διανύσματα επίθεσης
- Υπερχείλιση ακεραίων στον υπολογισμό width * height * bpp που οδηγεί σε μικρή κατανομή σωρού (heap) και εγγραφή εκτός ορίων.
- Κατεστραμμένες ακολουθίες διαφυγής μήκους τρεξίματος RLE8/RLE4 που προκαλούν εγγραφές μνήμης πέوان από το κατανεμημένο buffer.
- Άρνηση υπηρεσίας μέσω κατανομής μνήμης πολλαπλών gigabyte που πυροδοτείται από κατασκευασμένες διαστάσεις κεφαλίδας.
Βέλτιστες αμυντικές πρακτικές:
Ιστορική Αναδρομή & Ορόσημα
Κύρια Πλεονεκτήματα
- Μηδενική υποβάθμιση συμπίεσης: 100% ακριβής αποθήκευση pixel σε επίπεδο bit χωρίς καθόλου τεχνουργήματα συμπίεσης.
- Καθολική εγγενής υποστήριξη λειτουργικού συστήματος σε όλες τις εκδόσεις των Windows, Linux και macOS.
- Η ασήμαντη πολυπλοκότητα αποκωδικοποίησης το καθιστά ιδανικό για ενσωματωμένους μικροελεγκτές και εκπαίδευση στον προγραμματισμό γραφικών.
Τεχνικοί Περιορισμοί & Μειονεκτήματα
- Τεράστια μεγέθη αρχείων λόγω έλλειψης σύγχρονης συμπίεσης εντροπίας όπως το DEFLATE ή η κωδικοποίηση Huffman.
- Αποτελεί αναποτελεσματική επιλογή για μετάδοση στον ιστό ή διανομή σε δίκτυα κινητής τηλεφωνίας.
- Η σειρά γραμμών σάρωσης από κάτω προς τα πάνω απαιτεί κατακόρυφη αντιστροφή γραμμών σε σύγχρονες ροές εργασίας γραφικών από πάνω προς τα κάτω.
Ενδιαφέροντα Τεχνικά Στοιχεία
- Το BMP αποθηκεύει τις γραμμές σάρωσης εικόνας ανάποδα (από κάτω προς τα πάνω) από προεπιλογή λόγω του μαθηματικού καρτεσιανού συστήματος συντεταγμένων που χρησιμοποιείται στο OS/2.
- Εάν η τιμή του ύψους στην κεφαλίδα BMP οριστεί σε αρνητικό αριθμό, η εικόνα αποκωδικοποιείται με τη σωστή πλευρά προς τα πάνω (από πάνω προς τα κάτω).
- Κάθε γραμμή σάρωσης σε ένα αρχείο BMP πρέπει να συμπληρώνεται με μηδenικά σε πολλαπλάσιο των 4 byte (ευθυγράμμιση ορίων 32-bit).
Συχνές Τεχνικές Ερωτήσεις
Γιατί τα αρχεία BMP είναι τόσο μεγάλα;
Τα αρχεία BMP αποθηκεύουν raw, ασυμπίεστες χρωματικές τιμές για κάθε μεμονωμένο pixel, ενώ φορμά όπως το PNG συμπιέζουν αυτά τα δεδομένα χωρίς καμία απώλεια ποιότητας.
Μπορεί το BMP να υποστηρίξει διαφάνεια;
Ναι. Τα αρχεία BMP 32-bit (χρησιμοποιώντας BITMAPV3HEADER ή νεότερο) μπορούν να αποθηκεύσουν ένα κανάλι alpha 8-bit, αν και η υποστήριξη ποικίλλει σε παλαιότερο λογισμικό.
Πώς μπορώ να μειώσω το μέγεθος ενός αρχείου BMP;
Η μετατροπή ενός αρχείου BMP σε PNG με το File2File.app συνήθως μειώνει το μέγεθος του αρχείου κατά 60% έως 85% με μηδενική απώλεια στην οπτική ποιότητα.
Σχετικά ζεύγη μετατροπής BMP
Η μετατροπή ασυμπίεστων αρχείων Windows Bitmap σε PNG προσφέρει συμπίεση χωρίς απώλειες που συρρικνώνει τα μεγέθη των αρχείων χωρίς να μειώνει την ποιότητα της εικόνας.
Η μετατροπή γραφικών δικτύου φορητών υπολογιστών (PNG) σε Windows Bitmap μετατρέπει συμπιεσμένα δεδομένα raster σε ασυμπίεστο πλέγμα εικονοστοιχείων για παλαιότερα λειτουργικά συστήματα και αγωγούς υλικού.