תמונת BMP (.bmp)

ארכיטקטורת תקן

Bitmap Image File (BMP) הוא פורמט הגרפיקה הרסטרית הבסיסי הבלתי-תלוי בהתקן של מיקרוסופט, המאחסן שורות סריקה לא דחוסות או דחוסות בשיטת RLE עם תאימות ישירה לפריים-באפר של חומרה.

המר BMP ל-PNG

ממיר חינמי מ-BMP ל-PNG פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי BMP על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (Magic Bytes)

מערכות הפעלה ומנתחי קבצים מזהים קבצי BMP על ידי בדיקת רצף הבייטים הבינארי הראשוני:

חתימת HEX (היסט 0):

42 4D

ייצוג ASCII: BM

תקינה: ארכיטקטורת DIB (מפת סיביות בלתי תלויה בהתקן) של Microsoft Windows

מפרט טכני

מבנה המכולהBITMAPFILEHEADER ואחריו BITMAPINFOHEADER (DIB) ומערך פיקסלים של תמונת הרסטר
דחיסהשורות סריקה גולמיות ללא דחיסה, או קידוד RLE אופציונלי מסוג BI_RLE8 / BI_RLE4
סדר בתים (Endianness)סדר בתים Little-Endian (Intel x86)
מרחבי צבעRGB התלוי בהתקן, sRGB (מוטמע ב-BITMAPV5HEADER)
ערוצים ומבנהמונוכרום של 1 סיבית, צבעים ממופתחים של 4 או 8 סיביות, או RGB/RGBA של 16, 24 או 32 סיביות
ממדים מרביים2,147,483,647 x 2,147,483,647 פיקסלים (מספר שלם מסומן של 32 סיביות)
שקיפותמסכת אלפא BGRA של 32 סיביות נתמכת בפורמטים מודרניים של BITMAPV3HEADER ו-V5HEADER
הזרמה ופרוגרסיביותאינו ניתן להזרמה; שורות הסריקה נשמרות הפוכות (מלמטה למעלה), אלא אם הגובה שלילי

מטריצת השוואה טכנית: BMP מול מתחרים

תכונה טכניתBMP (נוכחי)PNGTIFFJPG
מצב דחיסהלא דחוס / RLE מינימלידחיסת Deflate ללא אובדן; החיסכון בגודל משתנה לפי תוכן התמונהלא דחוס / LZW / Zipדחיסת DCT עם אובדן (קטן בכ-90%)
מהירות פענוחהעתקת זיכרון מיידיתדורש פענוח Deflateדורש פענוח LZW/ZIPדורש חישוב IDCT
סדר שורות הסריקהמלמטה למעלה (הפוך)מלמעלה למטהמלמעלה למטה / רצועותבלוקי MCU מלמעלה למטה
התאמה לרשתגרועה מאוד (מטענים מנופחים)מעולה לגרפיקהגרועה (הוצאה לאור שולחנית)מעולה לצילום

מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)

התמונה מרונדרת כשהיא גזורה באלכסון או מוטה בזווית.

גורם שורש: חישוב ריפוד שורות שגוי (כשל בריפוד כל שורת סריקה לגבול של 4 בייט).

שחזור: קידוד מחדש באמצעות File2File.app Image Converter לאכיפת מרווח שורות סריקה תקני של 32 סיביות.

ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)

מפענחי BMP סובלים לעיתים קרובות מקריאות יתר של חוצץ בעת הקצאת זיכרון בהתבסס על מימדי כותרת DIB בלתי מהימנים.

ווקטורי תקיפה ידועים

  • חריגת מספר שלם בחישוב רוחב * גובה * bpp, המובילה להקצאת זיכרון קטנה בערימה ולכתיבה מחוץ לגבולות הזיכרון.
  • רצפי בריחה של מקטעי אורך ריצה RLE8/RLE4 פגומים הגורמים לכתיבות זיכרון מעבר לחוצץ שהוקצה.
  • מניעת שירות באמצעות הקצאת זיכרון בגודל של מספר ג'יגה-בייט שמופעלת על ידי ממדי כותרת מעוותים.

שיטות מומלצות להגנה: יש לאמת בקפדנות את גבולות הרוחב, הגובה ועומק הסיביות בכותרת DIB לפני הקצאת זיכרון ליעד.

היסטוריה ואבני דרך

1998חלונות 98 מציגים את BITMAPV5HEADER, המוסיף ניהול פרופיל צבע ICC ותיקון גמא.
1990חלונות 3.0 מתקננים את מפרט ה-DIB מסוג BITMAPINFOHEADER בכל רחבי מערכת ההפעלה.
1987הוצג עם חלונות 2.0 ו-OS/2 1.1 כפורמט רסטר התצוגה המקורי.

יתרונות מרכזיים

  • אפס פגיעה בדחיסה: אחסון פיקסלים מדויק בסיביות (bit-exact) של 100% ללא ארטיפקטי דחיסה כלל.
  • ב-Windows קיים מקודד BMP מובנה, אך התמיכה במערכות הפעלה וביישומים אחרים משתנה.
  • מורכבות פענוח זניחה הופכת אותו לאידיאלי עבור מיקרו-בקרים משובצים (embedded microcontrollers) ולהוראת תכנות גרפיקה.

מגבלות טכניות וחסרונות

  • גדלי קבצים עצומים עקב היעדר דחיסת אנטרופיה מודרנית כמו DEFLATE או קידוד Huffman.
  • לא יעיל להעברה באינטרנט או להפצה ברשתות סלולריות.
  • סדר שורות סריקה מלמטה למעלה דורש היפוך שורות אנכי בצינורות עיבוד גרפיים מודרניים מלמעלה למטה.

עובדות טכניות מעניינות

  • קובצי BMP מאחסנים שורות סריקה של תמונה מהתחתית למעלה (מלמטה למעלה) כברירת מחדל בשל מערכת הצירים הקרטזית המתמטית שבה השתמשו ב-OS/2.
  • אם ערך הגובה בכותרת ה-BMP מוגדר למספר שלילי, התמונה מפוענחת בכיוון הנכון (מלמעלה למטה).
  • כל שורת סריקה בקובץ BMP חייבת להיות מרופדת באפסים לכפול של 4 בייט (יישור גבול של 32 סיביות).

שאלות טכניות נפוצות

מדוע קובצי BMP כל כך גדולים?

קובצי BMP שומרים ערכי צבע גולמיים ולא דחוסים עבור כל פיקסל בודד, בעוד שפורמטים כמו PNG דוחסים נתונים אלו מבלי לאבד שום איכות.

האם BMP תומך בשקיפות?

כן. קובצי BMP בגודל 32 סיביות (המשתמשים ב-BITMAPV3HEADER או חדשים יותר) יכולים לאחסן ערוץ אלפא בן 8 סיביות, אם כי התמיכה משתנה בתוכנות ישנות יותר.

כיצד אוכל להקטין את גודל קובץ ה-BMP?

המרת BMP ל-PNG עשויה להקטין את גודל הקובץ תוך שמירה על ערכי הפיקסלים, אך התוצאה תלויה בתוכן התמונה ובקידוד של קובץ ה-BMP.