最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Qt使用QImage類實現(xiàn)圖像基本操作

 更新時間:2022年06月16日 09:20:28   作者:wendy_ya  
這篇文章主要介紹了Qt如何利用QImage類實現(xiàn)對圖像的基本操作,包括圖像顯示、圖像縮放、圖像旋轉(zhuǎn)等,感興趣的小伙伴可以跟隨小編一起動手嘗試一下

一、項目介紹

利用QImage類實現(xiàn)對圖像的基本操作,包括圖像顯示、圖像縮放、圖像旋轉(zhuǎn)等。

二、項目基本配置

新建一個Qt案例,項目名稱為“ImageTest”,基類選擇“QWidget”,點擊選中創(chuàng)建UI界面復(fù)選框,完成項目創(chuàng)建。

三、UI界面設(shè)計

UI界面布局如下:

界面中創(chuàng)建了5個控件,其名稱和類型如下:

序號名稱類型屬性
ChooseQPushButtontext:選擇圖像
RotateQPushButtontext:圖像旋轉(zhuǎn)
ZoomQPushButtontext:圖像縮放
imagelabelQLabel\
horizontalSliderQSliderminimum:0
maximum:359

四、主程序?qū)崿F(xiàn)

4.1 widget.h頭文件

頭文件中聲明原始圖像img:

public:
    QImage img;//原始圖像

聲明三個按鈕點擊槽函數(shù)和一個滑動條滑動槽函數(shù):

private slots:
    void on_Choose_clicked();

    void on_Rotate_clicked();

    void on_Zoom_clicked();

    void on_horizontalSlider_valueChanged(int value);

4.2 widget.cpp源文件

定義選擇圖像槽函數(shù):

//選擇圖像
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));
    }

}

定義圖像縮放槽函數(shù):

//圖像縮放
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));
}

定義圖像旋轉(zhuǎn)槽函數(shù):

//圖像旋轉(zhuǎn)
void Widget::on_Rotate_clicked()
{
    ui->horizontalSlider->setVisible(true);//顯示滑動條
}

定義滑動條值變化槽函數(shù):

//進度條值變化
void Widget::on_horizontalSlider_valueChanged(int value)
{
    qDebug()<<value;//輸出旋轉(zhuǎn)角度
    QImage* imgRatate = new QImage;
    QMatrix matrix;
    matrix.rotate(value);
    *imgRatate = img.transformed(matrix);
    ui->imagelabel->setPixmap(QPixmap::fromImage(*imgRatate));
}

五、效果演示

完整效果如下:

到此這篇關(guān)于詳解Qt使用QImage類實現(xiàn)圖像基本操作的文章就介紹到這了,更多相關(guān)Qt圖像基本操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實現(xiàn)五子棋游戲(注釋版)

    C++實現(xiàn)五子棋游戲(注釋版)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 詳解C語言printf()輸出格式

    詳解C語言printf()輸出格式

    這篇文章主要介紹了C語言printf()輸出格式,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • C語言算法練習(xí)之佩奇存錢方案

    C語言算法練習(xí)之佩奇存錢方案

    這篇文章主要該大家分享C語言算法佩奇存錢的練習(xí),文章主要通過描述佩奇存錢的問題然后確定程序框架將結(jié)果運算出來,下面來看詳細內(nèi)容吧,需要的朋友可以參考一下
    2022-04-04
  • c++中priority_queue模擬的實現(xiàn)

    c++中priority_queue模擬的實現(xiàn)

    priority_queue是C++標準庫中的一個容器適配器,用于實現(xiàn)優(yōu)先隊列的數(shù)據(jù)結(jié)構(gòu),本文主要介紹了c++中priority_queue模擬的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-09-09
  • C++中overload,override,overwrite的區(qū)別詳細解析

    C++中overload,override,overwrite的區(qū)別詳細解析

    以下是對C++中overload,override,overwrite的區(qū)別進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-09-09
  • Java?C++?leetcode面試零矩陣

    Java?C++?leetcode面試零矩陣

    這篇文章主要為大家介紹了Java?C++題解leetcode面試零矩陣示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • VS+Qt+Halcon 顯示圖片,實現(xiàn)鼠標縮放、移動圖片

    VS+Qt+Halcon 顯示圖片,實現(xiàn)鼠標縮放、移動圖片

    本篇博文記錄一下,用VS+Qt+Halcon實現(xiàn)對圖片的讀取以及鼠標縮放,移動(鼠標事件調(diào)用了halcon自帶的算子)的過程。感興趣的可以了解一下
    2021-08-08
  • C語言深入淺出講解直接插入排序算法的實現(xiàn)

    C語言深入淺出講解直接插入排序算法的實現(xiàn)

    插入排序也是最簡單的一類排序方法,我今天介紹的也是插入排序里最直觀且淺顯易懂的直接插入排序。對這個很簡單的排序,記得當(dāng)時也是花了近兩個晚上才搞懂它的原理的,接下來就來介紹一下
    2022-05-05
  • 用純C語言實現(xiàn)貪吃蛇游戲

    用純C語言實現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細介紹了用純C語言實現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • QT使用QComBox和QLineEdit實現(xiàn)模糊查詢功能

    QT使用QComBox和QLineEdit實現(xiàn)模糊查詢功能

    模糊查詢是指根據(jù)用戶輸入的文本,在下拉框的選項中進行模糊匹配,并動態(tài)地顯示匹配的選項,本文將使用QComBox和QLineEdit實現(xiàn)模糊查詢功能,需要的可以參考下
    2023-11-11

最新評論

宝应县| 三亚市| 日照市| 绍兴市| 织金县| 武穴市| 卓资县| 黄冈市| 苏尼特左旗| 文水县| 泽普县| 庆安县| 上栗县| 崇明县| 汤阴县| 大竹县| 砀山县| 霍邱县| 梅河口市| 肇庆市| 博野县| 嵊泗县| 额敏县| 平顶山市| 库尔勒市| 敦煌市| 六枝特区| 扎兰屯市| 海口市| 青神县| 济源市| 新乡县| 宁南县| 东乡县| 融水| 黑水县| 大邑县| 邹平县| 专栏| 乐平市| 平昌县|