1. 程式人生 > >QT中點陣圖bitmap與VC的區別

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的做法沒有道理
                               
.         ... ..               
             .                 
             .                 
             .                 
             .                 
             .                 
             .                 
             .                 
             .                 
             .                 
             .                 
             .                 
             .                 
             .                 
             .                 
.         ... ..