โครงสร้างบิตแมป

โครงสร้างบิตแมปมีแบบฟอร์มต่อไปนี้:

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)

Index