在Qt中處理圖片一般都要用到QImage類,但是QImage的對象不能夠直接顯示出來,要想能看到圖片,初步發現有兩種方法。
一、QImage轉QPixmap,然后用QLabel::setPixmap()
image=new QImage("D:/Temp/XX.jpg"); pixmap=newQPixmap(); pixmap->convertFromImage(*image); label=newQLabel(this); label->setGeometry(100,0,1000,700); label->setPixmap(*pixmap); 二、在paintEvent()中直接畫 void MyWindow::paintEvent(QPaintEvent*) { QPainter paint(this); paint.drawImage(0,0,*image); } 有兩種方法,就有比較。經過試驗發現,第一種方法效率更高,雖然代碼開起來多了,但是經過優化用于顯示的QPixmap能夠體現出其優勢。同樣顯示一幅1200*1600的圖片,第一種方法幾乎不需要時間,用毫秒計時顯示為0,而第二種方法需要15ms,在需要大量運算的地方,15ms的差距區別可是相當大的。 |
|
來自: 昵稱52164085 > 《linux》