Qt将桌面截图,保存成用base64加密的图片流
来源:互联网 发布:高校大数据应用研讨会 编辑:程序博客网 时间:2024/06/05 18:48
QPixmap desktopPix = QApplication::primaryScreen()->grabWindow(QApplication::desktop()->winId());
当然,如果用户的机器为双屏,需要根据需求自行处理,这里就不提了。
以上代码已经保存了一个图片,该图片为系统此时的桌面截图。
接下来,我们先进行压缩:
QByteArray byteTMP = QByteArray();
QImage image = desktopPix.toImage();
//将图片进行压缩成316*236大小
QPixmap pix = QPixmap::fromImage(image.scaled(316, 236, Qt::IgnoreAspectRatio));//再保存成数据流
QBuffer buffer(&byteTMP);buffer.open(QIODevice::WriteOnly);
pix.save(&buffer, "png", 0);
//Base64加密图片流
QByteArray byte64 = byteTMP.toBase64();
这样,byte64 就是我们想要得到的了。
base64与图片的加解密:
#ifndef SBASE64TOIMAGE_H
#define SBASE64TOIMAGE_H
#include <QByteArray>
#include <QBuffer>
#include <QImage>
#include <QPixmap>
class SBase64ToImage : public QObject
{
Q_OBJECT
public:
static QByteArray Image_To_Base64(QString ImgPath) {
QImage image(ImgPath);
QByteArray ba;
QBuffer buf(&ba);
image.save(&buf,"PNG",20);
QByteArray hexed = ba.toBase64();
buf.close();
return hexed;
}
static QPixmap Base64_To_Image(QByteArray bytearray) {
QByteArray Ret_bytearray = QByteArray::fromBase64(bytearray);
QBuffer buffer(&Ret_bytearray);
buffer.open(QIODevice::WriteOnly);
QPixmap imageresult;
imageresult.loadFromData(Ret_bytearray);
return imageresult;
}
};
#endif // SBASE64TOIMAGE_H
- Qt将桌面截图,保存成用base64加密的图片流
- 利用gtk函数 linux桌面截图 保存成图片
- php将base64格式的图片保存在指定目录
- 用 ImageEnView 将图片及截图保存到数据库
- python 将base64字符串还原成图片保存
- python 将base64字符串还原成图片保存
- 将流图片流写在本地,并通过base64 加密
- QT开启摄像头及截图保存图片
- 将base64加密之后的图片文件流写为文件
- asp将base64的图片信息,转为图片显示,并保存到指定路径
- 用python将url图片保存到内存,并编码为base64位,并进行解码的方法
- PHP将Base64图片转换为本地图片并保存
- 将图片转换成Base64
- C# 将图片的base64编码保存到Oracle数据库中
- php实现将base64格式图片保存在指定目录的方法
- PHP将图片转base64编码以及base64图片转换为图片并保存代码
- iOS---如何截图,如何将图片保存到相册
- php保存base64编码的图片内容
- 微信小程序之入门项目
- ubuntu--免密码执行脚本
- burpsuite学习——简单爆破
- Glide与Picasso的区别及优缺点
- Python-MySQL CRUD操作
- Qt将桌面截图,保存成用base64加密的图片流
- STL学习笔记3— —容器vector
- javaScript九九乘法表的实现
- 7月14日云栖精选夜读:哥本哈根能效中心 阿里云用清洁的计算能力改变世界
- bzoj4174,大力推导
- 微信接收zabbix监控信息脚本
- day16-day18代码片段
- Vue app开发踩过的那些坑(二)
- java执行shell脚本