【QT】二进制读取图像文件并显示
打开对话框选择文件
二进制方式读取文件
转换成图像显示
void MainWindow::showImage()
{
//打开文件对话框 QString lastPath="D:/Englishpath/QTprojects/DATA/videoData";
fileName = QFileDialog::getOpenFileName(this,"OpenFile", lastPath);
if(fileName.isEmpty())
{
QMessageBox::information(this,"Error Message","Select File Failed");
return;
}
QFile file(fileName);
if(!file.open(QIODevice::ReadOnly))
{
QMessageBox::information(NULL,"失败提示","打开失败",QMessageBox::Ok,QMessageBox::Ok);
return;
}
// QTextStream in(&file);
// ui->textEdit->setText(in.readAll()); //类型转换为可以被ifstream使用的
QString str =fileName;
char *s; QByteArray//QString转换为char*
ba = str.toLatin1();
s = ba.data(); // [1]得到二进制数据;
using std::ifstream;
ifstream i_f_stream(s,ifstream::binary);
i_f_stream.seekg(, i_f_stream.end);
int length = i_f_stream.tellg();
i_f_stream.seekg(, i_f_stream.beg);
char *buffer = new char[length];
i_f_stream.read(buffer, length);//一次性读取
i_f_stream.close(); // [2]缓存数据重构;
QByteArray byteArray(buffer, length); // [3] 构建图片对象并载入二进制数据;
QImage img;
img.loadFromData(byteArray, "png"); // [4] 结果检测(将图片保存到某一目录、用label显示);
img.save(QString("test.bmp"), "png");
ui->d_label->setPixmap(QPixmap::fromImage(img)); delete [] buffer; // QDataStream in(&file);
// while( !in.atEnd())
// {
// QByteArray s;
// in >> s;
// file.close();
// qDebug()<<s<<endl;
// }
}
【转载自】
std::ifstream以二进制方式读取图片文件,用Qt再将其转为图片(QImage::loadFromData()函数使用) - ypy9323的博客 - CSDN博客 https://blog.csdn.net/ypy9323/article/details/81835530
【QT】二进制读取图像文件并显示的更多相关文章
- 【QT】二进制读取图像文件测试
QDataStream in(&file); int n; in >> n ; file.close(); qDebug() << n<<"en& ...
- Qt flash_eraseall nandwrite 进度条显示擦除、烧录
/***************************************************************************** * Qt flash_eraseall n ...
- Python 读取图像文件的性能对比
Python 读取图像文件的性能对比 使用 Python 读取一个保存在本地硬盘上的视频文件,视频文件的编码方式是使用的原始的 RGBA 格式写入的,即无压缩的原始视频文件.最开始直接使用 Pytho ...
- OK335xS tmp75 Qt 温度读取
/******************************************************************* * OK335xS tmp75 Qt 温度读取 * 说明: * ...
- FileReader对象的readAsDataURL方法来读取图像文件
FileReader对象的readAsDataURL方法可以将读取到的文件编码成Data URL.Data URL是一项特殊的技术,可以将资料(例如图片)内嵌在网页之中,不用放到外部文件.使用Dat ...
- 使用FileReader对象的readAsDataURL方法来读取图像文件
使用FileReader对象的readAsDataURL方法来读取图像文件 FileReader对象的readAsDataURL方法可以将读取到的文件编码成Data URL.Data URL是一项 ...
- 使用 Qt 获取 UDP 数据并显示成图片(2)
本文首发于 BriFuture 的 个人博客 在我的前一篇文章 使用 Qt 获取 UDP 数据并显示成图片 中,我讲了如何用 Python 模拟发送数据,如何在 Qt 中高效的接收 UDP 数据包并将 ...
- 转载:使用FileReader对象的readAsDataURL方法来读取图像文件
文章转载自:http://blog.okbase.net/jquery2000/archive/1296.html: FileReader对象的readAsDataURL方法可以将读取到的文件编码成D ...
- 解析 Qt 字库移植并能显示中文 (下篇)
原文http://mobile.51cto.com/symbian-272563.htm 本文介绍的是Qt 字库移植并能显示中文,需要的字体库文件,一般是多个.具体移植那一个,看你使用的字库是什么了, ...
随机推荐
- 高斯白噪声(white Gaussian noise,WGN)
本文科普一下高斯白噪声(white Gaussian noise,WGN). 百度百科上解释为“高斯白噪声,幅度分布服从高斯分布,功率谱密度服从均匀分布”,听起来有些晦涩难懂,下面结合例子通俗而详细地 ...
- delphi XE8 NetHTTPRequest NetHTTPClient
delphi xe8 推出2个新http控件,NetHTTPRequest.NetHTTPClient 可以调用ASP.Net 一般应用程序获取网页数据,用旧的控件idhttp控件也可以,推荐用新的这 ...
- JSP的动态导入
<body> <!-- 动态引入 他们引入的相互独立的代码段 所以可以运行 代码段之间存在重复的变量 --> this is a test dy include 01 < ...
- 判断viewpager左右滑动方向
实现思路就是通过viewpager的滑动监听,用参数position进行比较,同时当判断完这个要把比较的positon覆盖.这里简单介绍一下public void onPageScrolled(int ...
- So you've been rejected, now what? On appeals in peer-reviewed publications(From Wiley Exchanges)
Getting rejected stinks. Wouldn’t it be great if we could appeal people’s decisions in life? Imagine ...
- linux sudo 系统环境变量 用户环境变量
1. sudo就是普通用户临时拥有root的权限.好处在于,大多数时候使用用户自定义的配置,少数情况可以通过sudo实现root权限做事. 故而,需要注意的一点是,在你使用了sudo后,你临时不再是原 ...
- Python slice() 函数
Python slice() 函数 Python 内置函数 描述 slice() 函数实现切片对象,主要用在切片操作函数里的参数传递. 语法 slice 语法: class slice(stop) ...
- api.besttool.cn 相关接口的返回码code含义列表
code 含义 0 请求成功 100 接口不存在 101 appid错误 102 secret错误 103 参数错误
- JAVA-用HttpClient来模拟浏览器GET,POST
一般的情况下我们都是使用IE或者Navigator浏览器来访问一个WEB服务器,用来浏览页面查看信息或者提交一些数据等等.所访问的这些页面有的仅仅是一些普通的页面,有的需要用户登录后方可使用,或者需要 ...
- jave 逻辑运算 vs 位运算 + Python 逻辑运算 vs 位运算
JAVA中&&和&.||和|(短路与和逻辑与.短路或和逻辑或)的区别 博客分类: 面试题目 Java.netBlog 转自 :http://blog.csdn.net/web ...