QT中點陣圖bitmap與VC的區別
Bitmap即每位代表一個畫素的圖片,VC和QT對bitmap的理解不一樣,主要是大小端的理解不一樣。
QBitmap::fromData(QSize(cx, cy), mask, QImage::Format_Mono);
注意最後一個引數: Format_Mono是大端,Format_MonoLSB是小端。
對於bitmap來說, 作為mask時, 1是顯示,0是透明。 作為pixmap時,1是黑色,0是白色。
對於image來說,1是白色,2是黑色。
QT對Bitmap的理解和VC是反的。例如,對於01 00這16個點,VC是大端(高位在前)的理解:
0000 0001 0000 0000
而QT的理解是小端(低位在前)
1000 0000 0000 0000
所以,對於
00000090h: 00 00 00 00 00 00 00 00 01 DC 00 00 00 20 00 00 ; .........?.. ..
000000a0h: 00 20 00 00 00 20 00 00 00 20 00 00 00 20 00 00 ; . ... ... ... ..
000000b0h: 00 20 00 00 00 20 00 00 00 20 00 00 00 20 00 00 ; . ... ... ... ..
000000c0h: 00 20 00 00 00 20 00 00 00 20 00 00 00 20 00 00 ; . ... ... ... ..
000000d0h: 00 20 00 00 01 DC 00 00 00 00 00 00 00 00 00 00 ; . ...?.........
000000e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
000000f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
00000100h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
VC的理解是
... ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ...
QT的理解是, 覺得QT的做法沒有道理
. ... ..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. ... ..