成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Qt中使圖片像素變小

移動開發
本文主要介紹了在Qt中使圖片像素變小。編程的時候,一般都是要添加圖片的,但是圖片有很大,怎么辦?對于編程人員來說,編程那是小事,要實現快速化縮小圖片,先看本章吧。

本文主要介紹了在Qt中使圖片像素變小。對于編程人員來說,編程那是小事,大概因為筆者不是圖形程序員的緣故,對這個小技巧十分之陌生,我想大家可能也有很大一部分人還不知道這個技巧,特此memo,希望對大家有用。

以下的代碼是將一個600*400的圖片弄成400*580顯示出來。

  1. QPixmap pixmap(":/set_background600x400.png");  
  2. QPixmap fitpixmap=pixmap.scaled(400,560, Qt::KeepAspectRatio);  
  3. label->setPixmap(fitpixmap); 

我是參照網上的這句QPixmap fitPixmap = pixmap.scaled(width(),height(), Qt::KeepAspectRatio);

我的例子:

  1. #ifndef TEXT_H  
  2. #define TEXT_H  
  3. #include <QApplication> 
  4. #include <QLabel> 
  5. #include <QPainter> 
  6. #include <QpaintEvent> 
  7. //#include <> 
  8. class magic:public QWidget  
  9. {  
  10. public:  
  11. magic(QWidget *parent=0);  
  12. private:  
  13. QLabel *label;  
  14. //void paintEvent(QPaintEvent *);  
  15. };  
  16. #endif // TEXT_H  
  17. #include "text.h"  
  18. magic::magic(QWidget *parent):QWidget(parent)  
  19. {  
  20. setGeometry(20,20,800,600);  
  21. label=new QLabel(this);  
  22. label->setGeometry(QRect(10, 10, 400, 580));  
  23. QPixmap pixmap(":/set_background600x400.png");  
  24. QPixmap fitpixmap=pixmap.scaled(500, 500).scaled(400,560, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);  
  25. label->setPixmap(fitpixmap);  
  26. }  
  27. int main(int argc,char **argv)  
  28. {  
  29. QApplication app(argc,argv);  
  30. magic M;  
  31. M.show();  
  32. return app.exec();  

還有網上的另外一個也有參考價值。 http://www.cuteqt.com/blog/?p=478

在Qt Labs Blog里提到了一個快速縮小大圖片的方法, 而且作者說是“幾乎所有圖形程序員都知道的trick”。 大概因為筆者不是圖形程序員的緣故, 對這個小技巧十分之陌生, 我想大家可能也有很大一部分人還不知道這個技巧, 特此memo, 希望對大家有用。

QImage提供了縮放圖片的函數 scaled, 并且可以用參數指定”快速縮放(FastTransformation)”還是”平滑縮放(SmoothTransformation)”, 使用還是很方便的。 但是如果你用縮放函數去做大圖片的縮略圖可能會發現”快速縮放”得到的圖片質量不佳, 而”平滑縮放”質量很好但速度欠佳, 特別是原圖非常大的時候smoothscale簡直就是個噩夢阿。 這里就可以使用被稱為“Cheat Scaling”的縮小圖片的技巧了, 那就是先使用”快速縮放”得到一個中等大小的圖片以獲得較快的縮放速度, 再使用”平滑縮放”縮小至需要的大小以獲得較好的圖片質量。

如下代碼:

  1. QImage result = img.scaled(800, 600).scaled(200, 150, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); 

一個公認比較好的方法是,先縮至縮略圖4倍大小, 再進一步平滑縮放。 按照原作者的測試, 該算法甚至比“快速縮放”還要略快, 卻能獲得和“平滑縮放”極其接近的最終結果。

小結:在Qt中使圖片像素變小這篇內容介紹完了,對于編程熟練的你,是否想熟練編程一樣熟悉它嘍,那么希望本文章能夠幫到你的忙。

【編輯推薦】

淺談Qt中多線程編程

Qt phonon多媒體框架

在Qt中如何寫控制臺程序

讓Qt應用程序只有一個實例

利用Qt繪圖實現QWT繪制科學圖表

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-15 10:08:01

Qt CVS

2011-06-10 09:09:38

Qt Creator OpenCV

2011-06-30 10:50:39

Qt OpenCV

2011-06-28 10:03:37

Qt OpenCV qmake

2011-06-09 16:18:25

Qt GUI

2011-06-14 13:43:38

QT 圖片

2011-06-08 16:56:37

VS2008 Qt

2011-06-28 14:39:00

Qt 圖片

2011-08-29 14:40:58

QTWebkit

2024-09-10 09:12:40

2021-12-03 11:30:58

Python圖片像素風

2012-05-02 16:25:47

JavaSwing

2011-08-30 15:10:46

Qt圖片數據庫

2011-09-01 15:26:51

QtMysql數據庫

2011-06-24 16:41:14

QT OpenCV 框架

2013-01-28 11:34:11

云對象存儲大數據分析對象存儲

2012-07-17 13:53:34

Office 15Metro

2013-03-28 13:27:14

Android獲取屏幕

2010-09-30 14:11:41

JSIE6.0
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99热国产在线播放 | 99精品久久99久久久久 | 欧美性猛交一区二区三区精品 | 天天操天天射天天舔 | 日韩毛片免费看 | 黑人久久| 免费国产黄网站在线观看视频 | 日韩免费1区二区电影 | 成人国产精品免费观看 | 久久之精品 | 国产一区2区 | 一级特黄色毛片 | 99久久精品国产毛片 | 先锋资源亚洲 | 日本久久福利 | 日韩一区二区三区在线 | 久久久久久国产精品免费免费 | aaa精品| 成人黄色在线 | 国产在线网站 | 国产98色在线 | 日韩 | 日韩一区二区三区av | 污书屋 | 国产成人免费视频网站视频社区 | 日本中文字幕一区 | 成人欧美一区二区三区视频xxx | 日本精品视频在线 | 日韩欧美电影在线 | 欧美中文在线 | 欧美在线一区二区三区 | 天堂一区二区三区四区 | 精品欧美一区二区三区免费观看 | 午夜精品久久久久久不卡欧美一级 | 国产精品视频不卡 | 国产精品久久a | 草草在线观看 | www免费视频 | 日韩在线中文字幕 | 成人国产一区二区三区精品麻豆 | 亚洲一区二区三区在线观看免费 | 色婷婷国产精品 |