视频直播APP源码,保存和提取图片的相关代码

#include "mainwindow.h"//源码来自
//How to Store and Retrieve Image on SQLite
//https://wiki.qt.io/How_to_Store_and_Retrieve_Image_on_SQLite
#include <QApplication>
#include <QtSql>
#include <QtWidgets>int main(int argc, char *argv[])
{QApplication a(argc, argv);// Set up databaseQString dbName("myDatabase.db3"); //默认路径在文件夹build-sqldemo-Desktop_Qt_5_12_9_MSVC2017_64bit-DebugQFile::remove(dbName);            // delete sqlite file if it exists from a previous runQSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName(dbName);db.open();QSqlQuery query = QSqlQuery(db);query.exec("CREATE TABLE IF NOT EXISTS imgTable ( filename TEXT, imagedata BLOB )");// Generate an image (in this case a screenshot) and store it in a QByteArrayQScreen *screen = a.primaryScreen();QPixmap inPixmap = screen->grabWindow(0);QByteArray inByteArray;QBuffer inBuffer(&inByteArray);inBuffer.open(QIODevice::WriteOnly);inPixmap.save(&inBuffer, "PNG"); // write inPixmap into inByteArray in PNG format// Alternatively, load an image file directly into a QByteArray// QFile file("screenshot.png");// if (!file.open(QIODevice::ReadOnly)) return;// QByteArray inByteArray = file.readAll();// Insert image bytes into the database// Note: make sure to wrap the :placeholder in parenthesisquery.prepare("INSERT INTO imgTable (filename, imagedata) VALUES ('screenshot.png', :imageData)");query.bindValue(":imageData", inByteArray);if (!query.exec())qDebug() << "Error inserting image into table:\n"<< query.lastError();// Get image data back from databaseif (!query.exec("SELECT imagedata from imgTable"))qDebug() << "Error getting image from table:\n"<< query.lastError();query.first();QByteArray outByteArray = query.value(0).toByteArray();QPixmap outPixmap = QPixmap();outPixmap.loadFromData(outByteArray);db.close();// Display imageQLabel myLabel;myLabel.setPixmap(outPixmap);myLabel.show();//MainWindow w;//w.show();return a.exec();
}

打开文件,读取二进制数据

QFile file(fileName);
if (!file.open(QIODevice::ReadOnly)) return;
QByteArray byteArray = file.readAll();QSqlQuery query;
query.prepare("INSERT INTO imgtable (imgdata) VALUES (?)");
query.addBindValue(byteArray);
query.exec();

打开多个数据库

QString connName = "basedb"QSqlDatabase db ;if(QSqlDatabase::contains(connName)){//如已经打开这个数据库,直接调出这个数据连接db = QSqlDatabase::database(connName);}else //否则打开这个数据库,注意带上数据库名db = QSqlDatabase::addDatabase("QSQLITE",connName);

以上就是视频直播APP源码中,保存和提取图片的相关代码,更多内容欢迎关注之后的文章
本文转载自网络,转载仅为分享干货知识,如有侵权欢迎联系云豹科技进行删除处理

视频直播app源码,保存和提取图片相关推荐

  1. 视频直播APP源码开发iOS音频播放流程

    视频直播APP源码开发iOS音频播放流程 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的, ...

  2. 视频直播APP源码,通过css控制div内容展开更多/收起效果

    视频直播APP源码,通过css控制div内容展开更多/收起效果 一. 实现思路 需要设置一个变量控制展开 / 收起效果 提前写好最高高度的class样式,超出这个高度多余内容会隐藏 只有在列表数据长度 ...

  3. 视频直播APP源码在安卓中推送SDK集成居然如此简单!

    视频直播APP源码在安卓中推送SDK集成居然如此简单! 思维导图 详细步骤 下载 demo 我的师傅大鸟哥告诉我,集成各类 SDK 的第一步骤都是下载个 Demo,先把 Demo 跑起来看看是什么鬼. ...

  4. 视频直播app源码,动态发布功能模块代码

    视频直播app源码中,不仅有"视频直播模块",还有"业务模块""消息模块"等等,其中,在动态发布功能里,选择图片后查看及删除的功能该怎么做呢 ...

  5. 视频直播app源码,底部动画导航栏

    视频直播APP源码实现底部导航栏并点击切换页面可简述为有三种方式 TabBar + TabBarView BottomNavigationBar + BottomNavigationBarItem 自 ...

  6. 视频直播app源码直播弹幕系统如何实现

    视频直播app源码直播弹幕系统如何实现 直播弹幕指直播间的用户,礼物,评论,点赞等消息,是直播间交互的重要手段.美拍直播弹幕系统从 2015 年 11 月到现在,经过了三个阶段的演进,目前能支撑百万用 ...

  7. 视频直播app源码,实现一个展开和关闭的动画效果

    视频直播app源码,实现一个展开和关闭的动画效果 <template><div><el-button @click="changeShow(true)" ...

  8. 直播软件开发IOS直播客户端SDK,视频直播APP源码【开源】

    当前视频直播非常火爆,手机端的视频直播也非常火爆,PGC.UGC的视频直播门槛都降低了很多. 本文介绍一个:IOS 客户端直播的SDK,代码完全开源. 直播时代:让IOS普通开发者一天内做出一个RTM ...

  9. 视频直播系统源码,保存平台视频内容到本地

    视频直播系统源码,保存平台视频内容到本地 首先,动态获取权限,非常重要 //在进入主页面时动态获取(记得在清单文件中添加) if(Build.VERSION.SDK_INT >= Build.V ...

  10. 视频直播系统源码,简单计时器

    视频直播系统源码,实现简单计时器相关的代码 布局 <?xml version="1.0" encoding="utf-8"?> <androi ...

最新文章

  1. MySQL面试题 | 附答案解析(十七)
  2. 自动化网络拓扑 包容多设备类型——湖南省高速公路邵怀高速公路建设开发有限公司...
  3. MySLQ排序后标记排行
  4. 2019\National _C_C++_C\试题 C: 平方拆分
  5. python自动化办公知识点整理汇总_Python自动化办公知识点整理汇总
  6. rk3188开机失败(ump_file_open() 251)
  7. linux 解压tar.jz,linux系统压缩文件和解压缩命令
  8. java $表示什么_java – 变量名中$的含义是什么?
  9. Java Vistor 设计模式
  10. BicycleGAN详解与实现
  11. Regsvr32命令的使用
  12. Opencv实现的简易绘图工具
  13. 终于搞清楚了:java的long的小l和大L区别
  14. 创建oracle自增序列
  15. android后台前台切换,Android 把后台应用切换到前台
  16. 计算机室教师使用制度,[最新]教师计算机室管理制度
  17. VS同一个解决方案中不同项目相互引用问题
  18. HTML图片上传服务器
  19. 百度图神经网络7日打卡营--DAY01前半部分 总结
  20. 轮廓线扫描算法:Theo Pavlidis' Algorithm

热门文章

  1. 2021年4月蓝桥杯软件类省赛:题目+解析(完整版)
  2. XP_cmdshell
  3. VMRC开启拷贝粘贴
  4. Axure9桌面无法显示图标
  5. 海康摄像头故障处理踩坑记录
  6. 大量的免费电子书下载地址
  7. Android及其他平台音频开源库介绍
  8. linux shell 编程之变量总结
  9. ansys2017安装教程_ANSYS Student
  10. gcc编译器下载各版本下载