• 7908阅读
  • 2回复

【提问】如何保存控件为图像? [复制链接]

上一主题 下一主题
离线qlong79
 
只看楼主 倒序阅读 楼主  发表于: 2006-02-04
我在继承QWidget的控件:mywidget上做图
现在想把会有图形的mywidget控件保存为bmp图像,应该如何做呢?
我在保存函数中用:
QPixmap pm(450,450);
bitBlt(&pm,0,0,this,0,0,450,450);
pm.save( filename, "bmp" );
但是没有存下来
另外,我还想保存整个程序界面为图片
又该如何处理呢?

谢谢
[ 此贴被XChinux在2006-02-03 21:35重新编辑 ]
离线icevi

只看该作者 1楼 发表于: 2006-03-21
QPixmap::grabWindow
QPixmap::grabWidget
应该有帮助
====================
www.bilive.com
BiForm BiReader BiChat
最爱QT和PYTHON
====================
离线obrire

只看该作者 2楼 发表于: 2006-04-02
采用QImage, 可以实现.
QT内建有多种图形文件格式的存储功能.
存储时, 选好过滤器(bmp/jpg/png/ etc)
将QImage内存中数据写入相应接口就可以了.

QImage visibleImage = image;
resizeImage(&visibleImage, size());

if (visibleImage.save(fileName, fileFormat)) {
    modified = false;
    return true;
} else {
    return false;
}

void MainWindow::save()
{
  QAction *action = qobject_cast<QAction *>(sender());
  QByteArray fileFormat = action->data().toByteArray();
  saveFile(fileFormat);
}
快速回复
限100 字节
 
上一个 下一个