תמונת BMP (.bmp)

Microsoft תקן

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

המר BMP ל-PNG

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

בדיקה ומטא-דאטה

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

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

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

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

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

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

חתימת HEX (היסט 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)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
הזרמה ופרוגרסיביותNon-streamable; scanlines stored upside-down (bottom-up) unless height is negative

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

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

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

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

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

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

ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)

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

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

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

השיטות המומלצות להגנה:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

המרת קובץ BMP ל-PNG באמצעות File2File.app בדרך כלל מקטינה את גודל הקובץ ב-60% עד 85% ללא שום אובדן באיכות הוויזואלית.