在Qt中如何加载图像以及保存图像到数据库中
来源:互联网 发布:如何开通淘宝直播间 编辑:程序博客网 时间:2024/05/17 08:12
在Qt中如何加载图像以及保存图像到数据库中
先前写过一个在PHP中往数据库中保存图像以及如何读取显示出来:
http://www.qtcn.org/blog/blog.php?do-showone-itemid-479-type-blog.html
现在遇到了在Qt中把图像保存到数据库中(以BLOB类型保存)的问题,这里总结一下,供各位朋友参考
基本的思想和前面的使用PHP保存头像是一样的,这里以例子解说
1、加载一个头像到界面上显示出来(labelZhaoPian的大小是80x96)
显示头像,这里用QLabel来显示,代码如下:
extern QString g_strCurrentDir;
QString strImage = QFileDialog::getOpenFileName(this, "请选择照片文件", g_strCurrentDir, "图像文件 (*.png *.jpg *.bmp *.gif)");
if (strImage.isNull())
{
return;
}
g_strCurrentDir = QDir(strImage).absolutePath();
labelZhaoPian->setPixmap(QPixmap(strImage).scaled(labelZhaoPian->size()));
相应地,清除头像的代码就很简单了
labelZhaoPian->setPixmap(QPixmap());
labelZhaoPian->setText("照\n\n片");
2、保存图像到数据库中,以PNG格式
if (labelZhaoPian->pixmap()->isNull() == false)
{
QByteArray bytes;
QBuffer buffer(&bytes);
buffer.open(QIODevice::WriteOnly);
labelZhaoPian->pixmap()->save(&buffer, "PNG");
QString out;
for(int n = 0; n
3、从数据库中读取出图像来,并显示
QSqlQuery q("SELECT photo FROM profile WHERE iprofileid = 1");
if (q.next())
{
if (q.isNull(0) == false)
{
QPixmap photo;
photo.loadFromData(q.value(0).toByteArray(), "PNG");
labelZhaoPian->setPixmap(photo);
}
}
先前写过一个在PHP中往数据库中保存图像以及如何读取显示出来:
http://www.qtcn.org/blog/blog.php?do-showone-itemid-479-type-blog.html
现在遇到了在Qt中把图像保存到数据库中(以BLOB类型保存)的问题,这里总结一下,供各位朋友参考
基本的思想和前面的使用PHP保存头像是一样的,这里以例子解说
1、加载一个头像到界面上显示出来(labelZhaoPian的大小是80x96)
显示头像,这里用QLabel来显示,代码如下:
extern QString g_strCurrentDir;
QString strImage = QFileDialog::getOpenFileName(this, "请选择照片文件", g_strCurrentDir, "图像文件 (*.png *.jpg *.bmp *.gif)");
if (strImage.isNull())
{
return;
}
g_strCurrentDir = QDir(strImage).absolutePath();
labelZhaoPian->setPixmap(QPixmap(strImage).scaled(labelZhaoPian->size()));
相应地,清除头像的代码就很简单了
labelZhaoPian->setPixmap(QPixmap());
labelZhaoPian->setText("照\n\n片");
2、保存图像到数据库中,以PNG格式
if (labelZhaoPian->pixmap()->isNull() == false)
{
QByteArray bytes;
QBuffer buffer(&bytes);
buffer.open(QIODevice::WriteOnly);
labelZhaoPian->pixmap()->save(&buffer, "PNG");
QString out;
for(int n = 0; n
3、从数据库中读取出图像来,并显示
QSqlQuery q("SELECT photo FROM profile WHERE iprofileid = 1");
if (q.next())
{
if (q.isNull(0) == false)
{
QPixmap photo;
photo.loadFromData(q.value(0).toByteArray(), "PNG");
labelZhaoPian->setPixmap(photo);
}
}
- 在Qt中如何加载图像以及保存图像到数据库中
- 在RFT中如何截取屏幕图像并保存到文件中?
- 如何捕捉图像并保存在文件夹中
- 【转】c#读取图像保存到数据库中(数据库保存图片)
- 保存HBITMAP图像到文件中
- opencv中如何保存图像序列
- 如何在Java应用中将图像存储到图像文件中?
- 4.MIL中图像的加载和保存
- QT+VTK: 如何在QT中显示VTK生成的图像
- 用matlab在图像上画矩形框,并保存坐标到文本中
- 使用BCB在数据库中插入图像及读出图像
- 使用BCB在数据库中插入图像及读出图像
- Delphi实现在数据库中存取图像
- GDI+将CDC中画好的图像,保存到文件中
- 如何在ListView中显示Bitmap图像
- HTML如何在网页中显示图像
- linux中配置在qt中调用opencv图像库
- 如何在visio中画虚线框以及将visio图像复制到word文档中虚线变成实现的问题
- Think_in_OO基础
- shell 判断语句
- 2011.09.06
- Java线程:线程状态的转换及线程的同步与锁
- javascript 基础 2
- 在Qt中如何加载图像以及保存图像到数据库中
- Java:重写equals()和hashCode()
- An Overview of Survival Analysis using Complex Sample Data
- Java中对象实例化的顺序
- sql常用语句1
- 不知道的一些IDE功能
- 如何查找僵尸进程并Kill之,杀不掉的要查看父进程并杀之
- javascript 执行顺序和闭包典型应用
- 居然过了这么久了..[2011.9.6]