我是靠谱客的博主 欣喜小蘑菇,最近开发中收集的这篇文章主要介绍QT笔记- 使用QString保存图像数据 (QPixmap与QString之间的互转)说明 函数释义示例,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
说明
将图像转化为QString字符串数据,使得图像可以以一种更为通用的方式被复制和保存。
其转换主要是QByteArray与QString的互转,这需要了解图像的编码方式。转换核心函数是toBase64()和fromBase64()。通过前者可以实现将Base64编码的数据强制扩升到Unicode统一码,而后者则将UTF-8编码数据视为Base64编码而对数据进行解码。
函数
- QByteArray QByteArray::toBase64() const
- QByteArray QString::toUtf8() const
- static QByteArray QByteArray::fromBase64(const QByteArray & base64)
释义
- 将原数据转换为Base64编码数据。注: Base64编码是一种以单元为6位的内存保存单元为8位的字符数据的编码方式,其字符种类总数为62,与Unicode编码前62个字符(即大小写字母和数字)完全对应。图像数据可以由Base64进行编码。
- 转换为UTF-8编码数据。注: UTF-8编码针对Unicode字符串。
- 将Base64编码的数据解码为原数据。
示例
QPixmap map("C:\Users\Administrator\Desktop\test_3.PNG");
QBuffer buff;//创建内存读写器
map.save(&buff, "PNG");
QByteArray dataimg;
dataimg.append(buff.data());//图像转换为数据,这个过程常用于TCP传输
//图片已保存在字符串中
QString imgStr = dataimg.toBase64();
QByteArray imgData = QByteArray::fromBase64(imgStr.toUtf8());//字符串转图像数据
QPixmap pixmap;
pixmap.loadFromData(imgData);//从数据载入图像
ui->label->setPixmap(pixmap);
运行后图像可原样显示。
运行截图: 略。
最后
以上就是欣喜小蘑菇为你收集整理的QT笔记- 使用QString保存图像数据 (QPixmap与QString之间的互转)说明 函数释义示例的全部内容,希望文章能够帮你解决QT笔记- 使用QString保存图像数据 (QPixmap与QString之间的互转)说明 函数释义示例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复