Qt QImage和QPixmap区别

重点:

1.QPixmap主要用于在界面上显示图像,它可以对图像进行缩放,可以加载BMP、JPG、PNG等格式的图片文件,然后在 OLabel组件上显示图像。

2.QImage可以读取BMP、JPG、PNG 等格式的图片件,存储图像中所有像素的颜色数据。QImage的接口函数可以实现图像的缩放、旋转、镜翻转等简单处理,可以转换颜色数据格式。因为QImage可以读写图像中每个像素的颜色数掘所以结合图像处理算法,我们可以对图像进行各种处理,例如调整亮度、调整对比度、模糊处理等。

QImage转换数据并采用QPixmap显示

复制代码
void MainWindow::on_btnFormatConvert_clicked(QString fileName)
{//图像格式转换
    QImage m_image;
    m_image.load(fileName);       //从当前文件重新载入
    int index=ui->comboFormat->currentIndex();
    if (index ==0)
        m_image.convertTo(QImage::Format_RGB16);      //RGB565
    else if (index ==1)
        m_image.convertTo(QImage::Format_RGB888);     //RGB888
    else if (index ==2)
        m_image.convertTo(QImage::Format_RGB32);      //RGBx888
    else if (index ==3)
//        newImage = image.convertToFormat(QImage::Format_Grayscale8);        //不改变原图
//    newImage = image.convertedTo(QImage::Format_Grayscale8);        //不改变原图像
        m_image.convertTo(QImage::Format_Grayscale8); //8位灰度
    else if (index ==4)
        m_image.convertTo(QImage::Format_Grayscale16);//16位灰度
    else if (index ==5)
        m_image.convertTo(QImage::Format_Indexed8);   //8位索引
    else
        return;

    QPixmap  pixmap=QPixmap::fromImage(m_image);      //刷新界面的图像显示
    ui->labPic->setPixmap(pixmap);
}
相关推荐
晨非辰1 小时前
#C语言——刷题攻略:牛客编程入门训练(十一):攻克 循环控制(三),轻松拿捏!
c语言·开发语言·经验分享·学习·visual studio
励志码农3 小时前
JavaWeb 30 天入门:第二十三天 —— 监听器(Listener)
java·开发语言·spring boot·学习·servlet
天高云淡ylz3 小时前
子网掩码的隐形陷阱:为何能ping通却无法HTTPS访问
开发语言·php
希望20175 小时前
Golang Panic & Throw & Map/Channel 并发笔记
开发语言·golang
朗迹 - 张伟5 小时前
Golang安装笔记
开发语言·笔记·golang
yzx9910135 小时前
生活在数字世界:一份人人都能看懂的网络安全生存指南
运维·开发语言·网络·人工智能·自动化
小周同学@6 小时前
谈谈对this的理解
开发语言·前端·javascript
橙*^O^*安7 小时前
Go 语言基础:变量与常量
运维·开发语言·后端·golang·kubernetes
NiKo_W7 小时前
Linux 文件系统与基础指令
linux·开发语言·指令
工程师小星星7 小时前
Golang语言的文件组织方式
开发语言·后端·golang