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 και κατόπιν BITMAPINFOHEADER (DIB) και πίνακας εικονοστοιχείων ράστερ |
| Συμπίεση | Ασυμπίεστες ακατέργαστες γραμμές σάρωσης ή προαιρετική κωδικοποίηση μήκους ακολουθιών BI_RLE8 / BI_RLE4 |
| Σειρά byte (endianness) | Μικρής διάταξης (Little-Endian, διάταξη byte Intel x86) |
| Χρωματικοί Χώροι | Device Dependent RGB, sRGB (BITMAPV5HEADER embedded) |
| Κανάλια & Δομή | Μονόχρωμο 1 bit, με παλέτα 4 bit / 8 bit, RGB 16 bit / 24 bit ή RGBA 32 bit |
| Μέγιστες Διαστάσεις | 2,147,483,647 x 2,147,483,647 εικονοστοιχεία (προσημασμένος ακέραιος 32 bit) |
| Διαφάνεια | Υποστηρίζεται μάσκα άλφα BGRA 32 bit στις σύγχρονες μορφές BITMAPV3HEADER και V5HEADER |
| Ροή δεδομένων και προοδευτική φόρτωση | Δεν υποστηρίζει ροή· οι γραμμές σάρωσης αποθηκεύονται ανάποδα (από κάτω προς τα πάνω), εκτός αν το ύψος είναι αρνητικό |
Τεχνικός Πίνακας Σύγκρισης: BMP έναντι Ανταγωνιστών
| Τεχνικό χαρακτηριστικό | BMP (Τρέχον) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Λειτουργία συμπίεσης | Ασυμπίεστο / Ελάχιστο RLE | Χωρίς απώλειες Deflate (~70% μικρότερο) | Ασυμπίεστο / LZW / Zip | DCT με απώλειες (~90% μικρότερο) |
| Ταχύτητα αποκωδικοποίησης | Στιγμιαία αντιγραφή μνήμης | Απαιτεί αποσυμπίεση Deflate | Απαιτεί αποσυμπίεση LZW/ZIP | Απαιτεί υπολογισμό IDCT |
| Σειρά γραμμών σάρωσης | Από κάτω προς τα πάνω (αντιστραμμένη) | Από πάνω προς τα κάτω | Από πάνω προς τα κάτω / Λωρίδες | Μπλοκ MCU από πάνω προς τα κάτω |
| Καταλληλότητα για τον ιστό | Πολύ κακή (διογκωμένα ωφέλιμα φορτία) | Εξαιρετική για γραφικά | Κακή (επιτραπέζια σελιδοποίηση) | Εξαιρετική για φωτογραφία |
Συνήθεις τρόποι καταστροφής δεδομένων και οδηγός ανάκτησης δεκαεξαδικών δεδομένων
Η εικόνα αποδίδεται διαγώνια κομμένη ή στραβή υπό γωνία.
Βασική Αιτία: Εσφαλμένος υπολογισμός συμπλήρωσης γραμμών (αποτυχία συμπλήρωσης κάθε γραμμής σάρωσης σε όριο 4 byte).
Ανάκτηση: Κωδικοποιήστε ξανά με το Image Converter του File2File.app για να διασφαλίσετε το σωστό βήμα γραμμής σάρωσης 32-bit.
Ανάλυση ασφάλειας και διανύσματα επίθεσης στον αναλυτή
Οι αποκωδικοποιητές BMP συχνά υποφέρουν από ανάγνωση πέρα από τα όρια του buffer κατά την κατανομή buffer με βάση μη έμπιστες διαστάσεις κεφαλίδας DIB.
Γνωστά διανύσματα επίθεσης
- Υπερχείλιση ακεραίων στον υπολογισμό width * height * bpp που οδηγεί σε μικρή κατανομή σωρού (heap) και εγγραφή εκτός ορίων.
- Κατεστραμμένες ακολουθίες διαφυγής μήκους ακολουθίας RLE8/RLE4 που προκαλούν εγγραφές μνήμης πέρα από το κατανεμημένο buffer.
- Άρνηση υπηρεσίας μέσω κατανομής μνήμης πολλαπλών gigabyte που πυροδοτείται από κατασκευασμένες διαστάσεις κεφαλίδας.
Βέλτιστες αμυντικές πρακτικές: Επικυρώστε αυστηρά τα όρια πλάτους, ύψους και βάθους bit της κεφαλίδας DIB πριν από την κατανομή της μνήμης προορισμού.
Ιστορική Αναδρομή & Ορόσημα
Κύρια Πλεονεκτήματα
- Μηδενική υποβάθμιση συμπίεσης: 100% ακριβής αποθήκευση pixel σε επίπεδο bit χωρίς καθόλου τεχνουργήματα συμπίεσης.
- Τα Windows διαθέτουν εγγενή κωδικοποιητή BMP, ενώ η υποστήριξη σε άλλα λειτουργικά συστήματα και εφαρμογές διαφέρει.
- Η απλή αποκωδικοποίηση το καθιστά ιδανικό για ενσωματωμένους μικροελεγκτές και για τη διδασκαλία προγραμματισμού γραφικών.
Τεχνικοί Περιορισμοί & Μειονεκτήματα
- Τεράστια μεγέθη αρχείων λόγω έλλειψης σύγχρονης συμπίεσης εντροπίας όπως το DEFLATE ή η κωδικοποίηση Huffman.
- Αποτελεί αναποτελεσματική επιλογή για μετάδοση στον ιστό ή διανομή σε δίκτυα κινητής τηλεφωνίας.
- Η σειρά γραμμών σάρωσης από κάτω προς τα πάνω απαιτεί κατακόρυφη αντιστροφή γραμμών σε σύγχρονες ροές εργασίας γραφικών από πάνω προς τα κάτω.
Ενδιαφέροντα Τεχνικά Στοιχεία
- Το BMP αποθηκεύει τις γραμμές σάρωσης εικόνας ανάποδα (από κάτω προς τα πάνω) από προεπιλογή λόγω του μαθηματικού καρτεσιανού συστήματος συντεταγμένων που χρησιμοποιείται στο OS/2.
- Εάν η τιμή του ύψους στην κεφαλίδα BMP οριστεί σε αρνητικό αριθμό, η εικόνα αποκωδικοποιείται με τη σωστή πλευρά προς τα πάνω (από πάνω προς τα κάτω).
- Κάθε γραμμή σάρωσης σε ένα αρχείο BMP πρέπει να συμπληρώνεται με μηδενικά σε πολλαπλάσιο των 4 byte (ευθυγράμμιση ορίων 32-bit).
Συχνές Τεχνικές Ερωτήσεις
Γιατί τα αρχεία BMP είναι τόσο μεγάλα;
Τα αρχεία BMP αποθηκεύουν ακατέργαστες, ασυμπίεστες χρωματικές τιμές για κάθε μεμονωμένο pixel, ενώ φορμά όπως το PNG συμπιέζουν αυτά τα δεδομένα χωρίς καμία απώλεια ποιότητας.
Μπορεί το BMP να υποστηρίξει διαφάνεια;
Ναι. Τα αρχεία BMP 32-bit (χρησιμοποιώντας BITMAPV3HEADER ή νεότερο) μπορούν να αποθηκεύσουν ένα κανάλι alpha 8-bit, αν και η υποστήριξη ποικίλλει σε παλαιότερο λογισμικό.
Πώς μπορώ να μειώσω το μέγεθος ενός αρχείου BMP;
Η μετατροπή αρχείου BMP σε PNG μπορεί να μειώσει το μέγεθος του αρχείου διατηρώντας τις τιμές των εικονοστοιχείων, αλλά το αποτέλεσμα εξαρτάται από το περιεχόμενο της εικόνας και την κωδικοποίηση BMP.
Σχετικά ζεύγη μετατροπής για BMP
Η μετατροπή ασυμπίεστων αρχείων Windows Bitmap σε PNG προσφέρει συμπίεση χωρίς απώλειες που συρρικνώνει τα μεγέθη των αρχείων χωρίς να μειώνει την ποιότητα της εικόνας.
Η μετατροπή γραφικών Portable Network Graphics (PNG) σε Windows Bitmap μετατρέπει συμπιεσμένα δεδομένα ράστερ σε ασυμπίεστο πλέγμα εικονοστοιχείων για παλαιότερα λειτουργικά συστήματα και διοχετεύσεις υλικού.
Τοποθετήστε ένα υποστηριζόμενο στιγμιότυπο οθόνης BMP σε μία σελίδα PDF για αναφορά υποστήριξης ή τεχνική αναφορά. Η μετατροπή δέχεται ασυμπίεστα εικονοστοιχεία 24-bit ή 32-bit, όχι συμπιεσμένες παραλλαγές BMP.