<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
利用QImage類實現對影象的基本操作,包括影象顯示、影象縮放、影象旋轉等。
新建一個Qt案例,專案名稱為“ImageTest”,基礎類別選擇“QWidget”,點選選中建立UI介面核取方塊,完成專案建立。
UI介面佈局如下:
介面中建立了5個控制元件,其名稱和型別如下:
序號 | 名稱 | 型別 | 屬性 |
---|---|---|---|
① | Choose | QPushButton | text:選擇影象 |
② | Rotate | QPushButton | text:影象旋轉 |
③ | Zoom | QPushButton | text:影象縮放 |
④ | imagelabel | QLabel | |
⑤ | horizontalSlider | QSlider | minimum:0 maximum:359 |
標頭檔案中宣告原始影象img:
public: QImage img;//原始影象
宣告三個按鈕點選槽函數和一個滑動條滑動槽函數:
private slots: void on_Choose_clicked(); void on_Rotate_clicked(); void on_Zoom_clicked(); void on_horizontalSlider_valueChanged(int value);
定義選擇影象槽函數:
//選擇影象 void Widget::on_Choose_clicked() { QString path=QFileDialog::getOpenFileName(this,tr("選擇影象"),"E:\image\",tr("Images (*.png *.bmp *.jpg *.tif *.GIF )")); if(path.isEmpty()) { return; } else { if(! ( img.load(path) ) ) //載入影象 { QMessageBox::information(this,tr("開啟影象失敗"),tr("開啟影象失敗!")); //delete img; return; } //img.load(path); ui->imagelabel->setPixmap(QPixmap::fromImage(img)); } }
定義影象縮放槽函數:
//影象縮放 void Widget::on_Zoom_clicked() { QImage* imgScaled = new QImage; int width=ui->imagelabel->width()/2; int height=ui->imagelabel->height()/2; *imgScaled=img.scaled(width,height,Qt::KeepAspectRatio);//對半縮放 ui->imagelabel->setPixmap(QPixmap::fromImage(*imgScaled)); }
定義影象旋轉槽函數:
//影象旋轉 void Widget::on_Rotate_clicked() { ui->horizontalSlider->setVisible(true);//顯示滑動條 }
定義滑動條值變化槽函數:
//進度條值變化 void Widget::on_horizontalSlider_valueChanged(int value) { qDebug()<<value;//輸出旋轉角度 QImage* imgRatate = new QImage; QMatrix matrix; matrix.rotate(value); *imgRatate = img.transformed(matrix); ui->imagelabel->setPixmap(QPixmap::fromImage(*imgRatate)); }
完整效果如下:
到此這篇關於詳解Qt使用QImage類實現影象基本操作的文章就介紹到這了,更多相關Qt影象基本操作內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45