欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解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ù):

//進(jìn)度條值變化
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++中友元函數(shù)(friend)解析

    C++中友元函數(shù)(friend)解析

    這篇文章主要分享了C++友元函數(shù)講解,C++提供了一種形式的訪問權(quán)限,叫做友元,友元有三種,分別是友元函數(shù)、友元類和友元成員函數(shù),下面將詳細(xì)介紹該內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01
  • 淺析ORB、SURF、SIFT特征點提取方法以及ICP匹配方法

    淺析ORB、SURF、SIFT特征點提取方法以及ICP匹配方法

    這篇文章主要為大家介紹了常用的特征點提取方法(ORB、SURF、SIFT)和ICP匹配方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2021-12-12
  • c++ 子類構(gòu)造函數(shù)初始化及父類構(gòu)造初始化的使用

    c++ 子類構(gòu)造函數(shù)初始化及父類構(gòu)造初始化的使用

    這篇文章主要介紹了c++ 子類構(gòu)造函數(shù)初始化及父類構(gòu)造初始化的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 詳解C語言中的內(nèi)存四區(qū)模型及結(jié)構(gòu)體對內(nèi)存的使用

    詳解C語言中的內(nèi)存四區(qū)模型及結(jié)構(gòu)體對內(nèi)存的使用

    這篇文章主要介紹了C語言中的內(nèi)存四區(qū)模型及結(jié)構(gòu)體對內(nèi)存的使用,包括結(jié)構(gòu)體中內(nèi)存泄漏情況的注意點提醒,需要的朋友可以參考下
    2016-03-03
  • Qt實現(xiàn)小功能之復(fù)雜抽屜效果詳解

    Qt實現(xiàn)小功能之復(fù)雜抽屜效果詳解

    在Qt自帶的控件中,也存在抽屜控件:QToolBar。但是,該控件有個缺點:一次只能展開一個抽屜信息,無法實現(xiàn)多個展開。所以本文將自定義實現(xiàn)復(fù)雜抽屜效果,需要的可以參考一下
    2022-10-10
  • C語言程序環(huán)境編譯+鏈接理論

    C語言程序環(huán)境編譯+鏈接理論

    這篇文章主要介紹了C語言程序環(huán)境編譯+鏈接理論,下面文章基于C語言的相關(guān)資料展開對編譯和鏈接的詳細(xì)介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-04-04
  • 在vs2017上配置AppGameKit庫的圖文教程

    在vs2017上配置AppGameKit庫的圖文教程

    這篇文章主要介紹了在vs2017上配置AppGameKit庫的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • C/C++內(nèi)存管理詳情

    C/C++內(nèi)存管理詳情

    這篇文章主要通過描述了C/C++內(nèi)存分布、C/C++的一些函數(shù)理方面來展開C/C++內(nèi)存管理的內(nèi)容,需要的朋友請參考下文
    2021-08-08
  • C++?OpenCV實戰(zhàn)之車道檢測

    C++?OpenCV實戰(zhàn)之車道檢測

    這篇文章主要介紹了基于C++?OpenCV實現(xiàn)的車道檢測,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++類中的常數(shù)據(jù)成員與靜態(tài)數(shù)據(jù)成員之間的區(qū)別

    C++類中的常數(shù)據(jù)成員與靜態(tài)數(shù)據(jù)成員之間的區(qū)別

    常數(shù)據(jù)成員是指在類中定義的不能修改其值的一些數(shù)據(jù)成員,類似于我們以前學(xué)過的常變量,雖然是變量,也有自己的地址,但是一經(jīng)賦初值,便不能再被修改
    2013-10-10

最新評論