我是靠谱客的博主 欣喜小蘑菇,最近开发中收集的这篇文章主要介绍QT笔记- 使用QString保存图像数据 (QPixmap与QString之间的互转)说明 函数释义示例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

说明 

        将图像转化为QString字符串数据,使得图像可以以一种更为通用的方式被复制和保存。

        其转换主要是QByteArrayQString的互转,这需要了解图像的编码方式。转换核心函数是toBase64()和fromBase64()。通过前者可以实现将Base64编码的数据强制扩升到Unicode统一码,而后者则将UTF-8编码数据视为Base64编码而对数据进行解码。

函数

  1. QByteArray QByteArray::toBase64() const
  2. QByteArray QString::toUtf8() const
  3. static QByteArray QByteArray::fromBase64(const QByteArray & base64)

释义

  1. 将原数据转换为Base64编码数据。注: Base64编码是一种以单元为6位的内存保存单元为8位的字符数据的编码方式,其字符种类总数为62,与Unicode编码前62个字符(即大小写字母和数字)完全对应。图像数据可以由Base64进行编码。
  2. 转换为UTF-8编码数据。注: UTF-8编码针对Unicode字符串。
  3. 将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之间的互转)说明 函数释义示例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部