โครงสร้างบิตแมปมีแบบฟอร์มต่อไปนี้:
typedef struct tagBITMAP { nbsp; / * bm * /
int bmType
int bmWidth
int bmHeight
int bmWidthBytes
ไบต์ bmPlanes
ไบต์ bmBitsPixel
LPVOID bmBits
} บิตแมป(&N)
โครงสร้างบิตแมปกำหนดความสูง ความกว้าง รูปแบบสี และค่าบิตบิตแมปแบบลอจิคัล.
สมาชิก
bmType
ระบุชนิดบิตแมป สำหรับบิตแมปแบบลอจิคัล สมาชิกนี้ต้องเป็น 0?
bmWidth
ระบุความกว้างของบิตแมปในพิกเซล ความกว้างต้องมีค่ามากกว่า 0?
bmHeight
ระบุความสูงของบิตแมปในบรรทัดสเตอร์ ความสูงต้องมีค่ามากกว่า 0?
bmWidthBytes
ระบุจำนวนของไบต์ในแต่ละบรรทัดสเตอร์ ค่านี้ต้องเป็นจำนวนคู่ตั้งแต่ graphics device interface (GDI) ถือว่า ค่าบิตของบิตแมปแบบฟอร์มอาร์เรย์ของค่าที่เป็นจำนวนเต็ม (2 ไบต์) กล่าวอีกนัยหนึ่งbmWidthBytes * 8 ต้องการหลายถัดไปของ 16 มากกว่า หรือเท่ากับค่าได้รับเมื่อสมาชิกbmWidthจะคูณ ด้วยสมาชิกbmBitsPixel?
bmPlanes
ระบุจำนวนของบินสีในบิตแมป?
bmBitsPixel
ระบุจำนวนบิตสีที่อยู่ติดกันบนแต่ละเครื่องบินที่จำเป็นในการกำหนดเซล?
bmBits
จุดที่ตั้งของค่าบิตของบิตแมป สมาชิกbmBitsต้องเป็นตัวชี้ความยาวกับอาร์เรย์ของค่า 1 ไบต์?
ความคิดเห็น
รูปแบบบิตแมปที่ใช้อยู่ในปัจจุบันมีสีและขาวดำ บิตแมปขาวดำใช้รูปแบบที่ 1 บิต 1-เครื่องบิน การสแกนแต่ละเป็นตัวคูณของ 16 บิต?
จัดการสแกนดังนี้สำหรับบิตแมปขาวดำของความสูงn:
การสแกน 0
การสแกน 1
.
.
.
สแกน n-2
สแกน n-1
พิกเซลบนอุปกรณ์แบบขาวดำจะเป็นสีดำ หรือสีขาว ถ้าบิตเกี่ยวข้องในบิตแมปคือ 1 พิกเซลมีเปิด (สีขาว) ถ้าบิตเกี่ยวข้องในบิตแมปเป็น 0 พิกเซลถูกปิด (ดำ)?
บิตแมปที่มีการตั้งค่าบิตRC_BITBLTในดัชนีของฟังก์ชันสมาชิกCDC::GetDeviceCaps RASTERCAPSสนับสนุนอุปกรณ์ทั้งหมด?
อุปกรณ์แต่ละรายการมีรูปแบบสีเฉพาะของตนเอง เมื่อต้องการโอนบิตแมปจากอุปกรณ์หนึ่งไปยังอีก ใช้ GetDIBitsและ SetDIBits Windows ฟังก์ชัน?
ดูเพิ่มเติมnbspCBitmap::CreateBitmapIndirect(&N)