Qt下如何通过Qimage加载图片并利用OpenglWidget控件成像

【QT】添加图片资源并使用QImage加载图片显示 文章目录一、QT工程添加图片资源二、QT工程使用QImage加载图片显示 一、QT工程添加图片资源 到了此步,按下Ctrl+s按键即可。 此时可看到工程下多了以下文件。 二、QT工程使用QImage加载图片显示 //父类为当前类的窗口this QLabel *lb = new QLabel(this); QImage im; //图片路径可以通过右击工程的图片获取 im.load(":/images/logo.png"); lb->setPixmap(QPixmap 阅读详情

使用opengl进行图像显示和处理具有很好性能表现,并且支持开发丰富的拓展功能。但是在qt下如何通过加载图片并显示,网上提供的方法过于复杂。笔者经过实践,总结出如下经验,并附录代码以供参考。
步骤:
1. 通过QImage读取图片;
2. 接下来就是要将QImage的数据转换成opengl所需的数据。通过QGLWidget::convertToGLFormat来实现。
代码注释里有一些注意事项,请大家也要注意。如果有更好的实现方式,也请多多指教。

  QImage srcImg(filePath);//从路径读取图片
    QImage imgAfterProcess;
    int imgFormat = srcImg.format();//获取图片的format类型,防止加载qt无法识别的图片导致QGLWidget::convertToGLFormat崩溃报错
    
9.2 使用QImage类加载图片 9.2 使用QImage类加载图片 QImage类提供了一个硬件无关的图像表示方法,可以直接访问图像的像素和用于画图设备。如果要对图像进行操作,就需要使用QImage类,最终显示在标签上还得利用QPixmap类。下面将介绍常用的成员函数使用方法。 下面将介绍QImage使用方法。 1.构造QImage (1)QImage(int width, int height, Format format) (2)QImage(uchar *data, int width, int height, int . 阅读详情

相关推荐

使用QOpenGLWidget显示图片

QOpenGLWidget是基于OpenGL开发的Qt组件,在Qt中非常强大,可以用于创建OpenGL窗口、渲染文本和图像等。在本文中,将介绍如何使用QOpenGLWidget来显示图片。在上述代码中,首先使用QImage加载图片,然后将其转换为OpenGL格式。接着,生成纹理ID并绑定纹理对象,设置纹理参数。最后,绘制一个四边形,并将纹理贴图到四边形上,最后删除纹理对象。接下来,我们需要在QOpenGLWidget的paintGL()函数中实现图片的加载和显示。使用QOpenGLWidget显示图片。

TechRoarX的博客 1816

QOpenGLWidget显示图片

Qt显示图片的控件有很多,用QLabel,或者直接在界面上画出来。QOpenGLWidget是Qt5之后用来渲染OpenGL控件,使程序员对OpenGL的操作更简单,本文讲解用QOpenGLWidget来显示图片,后续讲解用QOpenGLWidget来显示视频。方法如下:1.在控件栏找到OpenGLWidget,拖到界面上2. 右键该控件提升为MyGLWidget, Qt提升控件类似于MFC的控...

琅嬛福地 2万+

Qt/C++音视频开发20-vlc内核动态保存录像文件(不需要重新编译源码)

在vlc默认提供的保存文件方式中,通过打开的时候传入指定的参数来保存文件,直到关闭播放生成文件,这种方式简单暴力,但是不适用大部分的场景,大部分时候需要的是提供开始录制和停止录制的功能,也就是在播放过程中能够动态录制多个文件,想录制的时候就录制,要结束的时候就结束录制,很遗憾vlc并没有提供这样的函数接口。

Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法 2414

ATAC-seq差异分析实战:从原始数据到GO富集(R/Bioconductor全流程)

本文提供了ATAC-seq差异分析的完整R/Bioconductor实战流程,涵盖从原始数据准备、一致峰集构建、计数矩阵生成,到使用DESeq2进行差异可及性分析,以及差异峰的基因组注释与GO富集分析。文章详细讲解了关键步骤、参数设置和常见问题,旨在帮助研究者获得可靠且可解释的生物学结果。

weixin_29246195的博客 228

[pcie]gen6 下 L0p

000b~100b: 触发L0p 操作流程协商工作link width 到target link width.为111b:link width 硬件动态调整。硬件动态:Device control 3 register.target link width=111b当pcie链路检测到空闲状态时,设备可以主动进入L0p状态。L0p 是pcie gen6 新引入的链路状态,是L0的子状态。(5)LINK WIDTH:当LINK WIDTH CHANGE.cmd为Request时表示请求的链路宽度。

BIG_APPLE1的博客 1677

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之EcuM模块配置详解(上)

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之EcuM模块配置详解(上)

weixin_42412049的博客 1015

AI爬虫:一文讲通AI爬虫技术和原理,及34个AI爬虫工具推荐

AI 爬虫 是一种结合了传统网络爬虫技术和人工智能(AI)技术的工具,能够更智能、高效地从网页中提取和处理数据。与传统爬虫相比,AI 爬虫能够更好地处理动态内容、复杂网页结构以及非结构化数据,同时具备数据清洗、分类、情感分析等高级功能。

数据知道的博客 1万+

【Bug已解决】openclaw command not found / openclaw not installed — OpenClaw CLI 安装失败解决方案

安装 OpenClaw 后命令未找到或运行失败,本质是 PATH 未配置或 Python 版本不兼容。文中给出修复 PATH、使用虚拟环境、检查 Python 版本、pipx 安装等完整方案。

一键难忘的博客 8065

【异常】Python环境中没有安装 `openpyxl` 模块提示ModuleNotFoundError: No module named ‘openpyxl‘

是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的库。只是示例版本号,你可以根据需要选择不同的版本。安装完成后,再次尝试运行你的程序,应该就不会再出现。,这表明你的Python环境中缺少。运行一个Python程序时遇到了。如果由于某些原因你无法直接使用。,你可以指定版本号来安装,这里。要解决这个问题,你需要安装。

奶爸的编程之路,也就一周冷个三天 3398

秃鹰搜索优化算法(BES)详解:从自然捕食到全局优化

秃鹰搜索优化算法(Bald Eagle Search Optimization Algorithm,BES)是由马来西亚学者Alsattar等人于2020年提出的一种新型元启发式优化算法。该算法灵感来源于秃鹰在自然界中高超的捕食行为,特别是其独特的狩猎策略和卓越的视觉搜索能力,模拟了秃鹰捕食鲑鱼等猎物的完整过程。

qq_42212808的博客 1353

【PG高可用】一 PostgreSQL高可用方案repmgr部署(非常详细)

repmgr安装部署

DBA之路的博客 7054

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: 切换QT界面全局字体与字体大小
天涯途客
博客等级 码龄7年 1粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天涯途客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值