วิธีใช้งาน
- วางสตริง Base64 หรือ URI แบบ data:image/bmp;base64 รองรับ PNG, JPEG, WebP และรูปแบบอื่นด้วย
- ตรวจดูภาพตัวอย่าง ขนาดภาพ และขนาดหลังถอดรหัส
- BMP ถูกเลือกไว้ล่วงหน้าใน “ดาวน์โหลดเป็น” หากข้อมูลเป็น BMP อยู่แล้วและต้องการคงไว้ตามเดิม ให้เลือก “ต้นฉบับ” แทน
- ดาวน์โหลดไฟล์ .bmp
การสังเกตบิตแมปใน Base64
ไฟล์บิตแมปของ Windows ขึ้นต้นด้วยตัวอักษรสองตัว BM ซึ่งเข้ารหัสเป็น Qk ที่ต้นสตริง Base64 พอดี ส่วนหัวที่ตามมาเก็บขนาดไฟล์ ตำแหน่งเริ่มต้นของข้อมูลพิกเซล ขนาดภาพ และความลึกบิต ข้อมูล BMP พบได้ในแอปพลิเคชัน Windows รุ่นเก่า การส่งออกจากคลิปบอร์ดและภาพหน้าจอ ระบบขายหน้าร้านและระบบอุตสาหกรรม เครื่องมือสำหรับจอแสดงผลของไมโครคอนโทรลเลอร์ และไฟล์สำหรับการทดสอบ ชนิด MIME มักเป็น image/bmp แต่ก็พบ image/x-ms-bmp ได้เช่นกัน
เบราว์เซอร์แสดง BMP แบบที่ใช้กันทั่วไปได้ แต่บิตแมป OS/2 ที่เก่ามากและโหมดการบีบอัดที่พบได้ยากอาจไม่แสดงผลในทุกเบราว์เซอร์ หากภาพตัวอย่างยังว่างเปล่าแม้สตริงจะขึ้นต้นด้วย Qk ให้ดาวน์โหลดเป็น “ต้นฉบับ” แล้วเปิดในโปรแกรมดูรูปภาพบนเดสก์ท็อป
ทำไมไฟล์ BMP จึงใหญ่มาก
ตัวแปลงเขียนพิกเซล 32 บิตแบบไม่บีบอัด พิกเซลละสี่ไบต์ ขนาดไฟล์จึงขึ้นอยู่กับขนาดภาพเท่านั้น ไม่ได้ขึ้นอยู่กับเนื้อหา:
| ขนาดภาพ | ขนาด BMP | เมื่อเป็น Base64 |
|---|---|---|
| 640 × 480 | ประมาณ 1.2 MB | ประมาณ 1.6 MB |
| 1920 × 1080 | ประมาณ 8.3 MB | ประมาณ 11 MB |
| 3840 × 2160 | ประมาณ 33 MB | ประมาณ 44 MB |
ภาพหน้าจอเดียวกันในรูปแบบ PNG มักเล็กกว่าถึงสิบเท่า ควรใช้ BMP เฉพาะเมื่อซอฟต์แวร์ปลายทางกำหนดให้ใช้เท่านั้น
เกี่ยวกับเอาต์พุต 32 บิต
เอาต์พุตคงช่องอัลฟาไว้ พื้นที่โปร่งใสจึงยังโปร่งใสในโปรแกรมที่อ่านช่องนี้ โปรแกรมรุ่นเก่าบางตัวไม่สนใจช่องอัลฟาและอาจแสดงพื้นที่เหล่านั้นเป็นสีดำหรือสีขาว หากเป็นเช่นนั้น ให้ลบความโปร่งใสออกจากรูปภาพต้นทางก่อนแปลง
หากต้องการถอดรหัส Base64 BMP บน Windows โดยไม่ใช้เบราว์เซอร์ ใช้ PowerShell ก็เพียงพอ:
$b64 = Get-Content .\image.txt -Raw
[IO.File]::WriteAllBytes("$PWD\image.bmp", [Convert]::FromBase64String($b64))
คำถามที่พบบ่อย
ทำไม BMP จึงใหญ่กว่าต้นฉบับมาก
เอาต์พุต BMP ไม่ได้บีบอัดและใช้พิกเซลละสี่ไบต์ PNG หรือ JPEG ที่บีบอัดแล้วของรูปภาพเดียวกันมักเล็กกว่ามาก
BMP รองรับความโปร่งใสหรือไม่
รองรับ ไฟล์ BMP 32 บิตที่เครื่องมือนี้สร้างขึ้นมีช่องอัลฟา ส่วนจะแสดงความโปร่งใสหรือไม่นั้นขึ้นอยู่กับโปรแกรมที่เปิดไฟล์
จะรู้ได้อย่างไรว่าสตริง Base64 เป็น BMP
Qk ซึ่งเป็นรูป Base64 ของตัวอักษร BM เครื่องมือจะยืนยันรูปแบบโดยอ่านไบต์ในส่วนหัว