QPixmap编码成jpg的内存操作
来源:互联网 发布:方正字体打包下载 mac 编辑:程序博客网 时间:2024/06/07 02:47
bool QPixmap::save(const QString &fileName, const char *format = Q_NULLPTR, int quality = -1) const
多年前就知道QPixmap的save函数成员几乎可以保存成各种图像格式, 只要指定扩展名就行。
但一直比较不爽的是只能存成文件,如编码后数据用于网络传输,难道再读文件吗?就像曾经用过的libjpeg一样不能把编码后的数据存放在内存数组里。
今天在查看新版QT里有没有提供视频的编码功能时,在QT帮助文档里发现:
bool QPixmap::save(QIODevice *device, const char *format = Q_NULLPTR, int quality = -1) constThis is an overloaded function.This function writes a QPixmap to the given device using the specified image file format and quality factor. This can be used, for example, to save a pixmap directly into a QByteArray: QPixmap pixmap; QByteArray bytes; QBuffer buffer(&bytes); buffer.open(QIODevice::WriteOnly); pixmap.save(&buffer, "PNG"); // writes pixmap into bytes in PNG format
看样子好像可以编码存到内存数组里了。赶紧一试,果然可以了。
bmp文件转成jpg,先存在内存数组里,再存到文件。
QPixmap map("/bb.bmp"); QByteArray ba; QBuffer bf(&ba); if (!map.save(&bf, "jpg")) { QMessageBox::critical(this, "error", "failed"); return; } QFile f("/bb.jpg"); f.open(QFile::WriteOnly); f.write(ba); f.close(); qDebug() << ba.size();
0 0
- QPixmap编码成jpg的内存操作
- QPixmap load jpg图片失败的解决方法
- QPixmap load jpg图片失败的解决方法
- QPixmap::loadFromData内存泄露
- QPixmap不能读取jpg图像,QImage不能读取jpg图像
- QPixmap不能读取jpg图像,QImage不能读取jpg图像
- 4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(
- 4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(
- flash as3 抓取图片进行jpg编码压缩成jpg的ByteArray格式的二进制数据流发送到php
- ffmpeg解码jpg并编码成h264
- ffmpeg解码jpg并编码成h264
- 关于qpixmap的认识
- QPixmap相关的问题
- QPixmap和QImage相互转换和读取JPG文件
- vtkPolydata转换成QPixmap
- QPixmap
- QPixmap
- QPixmap
- Git命令总结
- 向着实用主义至上的世界呐喊——《三傻大闹宝莱坞》观后感
- 背包集合
- Android SQLite 的简单使用
- PSU CS Guest Lectures at CCUT(波特兰州立大学在长春工业大学的讲座课程)
- QPixmap编码成jpg的内存操作
- 网络编程中htons函数
- /usr/bin/ld: 找不到 -lboost_filesystem-mt /usr/bin/ld: 找不到 -lboost_system-mt
- 模拟斗地主洗牌和发牌
- C语言中冒泡排序的图解
- 作业6
- python学习笔记3-函数
- 云计算的介绍
- 使用Redis有序集合搭建自有IP定位解析库(纯真库)