相关文章推荐
爱健身的芒果  ·  php - ...·  1 年前    · 
销魂的杯子  ·  java - How to set ...·  1 年前    · 

这是一个简单的例子,将QPixmap对象保存为png或者jpg等格式的图片
函数原型:
使用指定的图像文件格式(format )和质量因数(quality )以给定的文件名(fileName)保存像素图到文件中。如果成功返回true;否则返回false。
质量因子必须在[0,100]或1的范围内。指定0来获得小的压缩文件,100用于获得大的未压缩文件,-1用于使用默认设置

bool QPixmap::save(const QString &fileName, const char *format = Q_NULLPTR, int quality = -1) const
QPixmap m_pix;
m_pix = ******;
m_pix.save("aaa.jpg",Q_NULLPTR,100);
                    这是一个简单的例子,将QPixmap对象保存为png或者jpg等格式的图片函数原型:使用指定的图像文件格式(format )和质量因数(quality )以给定的文件名(fileName)保存像素图到文件中。如果成功返回true;否则返回false。质量因子必须在[0,100]或1的范围内。指定0来获得小的压缩文件,100用于获得大的未压缩文件,-1用于使用默认设置bool QPixmap::save(const QString &fileName, const char *format =
	QImage* image = new QImage;
    image->load("绝对路径");
    ui->label->setPixmap(QPixmap::fromImage(*image));
image->save("绝对路径");
路径中的分隔符 " \ " 用 " \ " 或者 " / " 代替
QImage 是为 I/O 以及直接像素访问和操作而设计和优化的。
	QPixmap 是为在屏幕上显示图像而设计和优化的。
	QBitmap是一个继承QPixmap的便利类,保证深度为1。如果QPixmap对象确实是位图,isQBitmap()函数返回true,否则返回false。
	QPicture 类是一个绘制设备,用于记录和重放 QPainter 命令。
QPixmap 对象可以通过值传递,因为 QPixmap 类使用隐式数据共享。QPixmap 
				
28黑马QT笔记之QPixmap保存图片 1 QPixmap、QImage、QPictrue三种绘图工具之间的区别: 上一篇我们讲到QPixmap如何在窗口进行绘图,接下来本篇要讲的是QPixmap如何保存一张图片,即将已有图片再按自己方式保存。首先我们先提一下三种绘图工具的区别。 1)QPixmap:不能对图片修改,主要用于屏幕绘图,因为它在屏幕绘图时自己优化了,不同电脑优化程度不一样,与显卡等...
可以使用QPixmap.grabWidget()方法将QGraphicsView保存为图片。具体步骤如下: 1. 创建一个QPixmap对象,大小与QGraphicsView相同。 2. 调用QPixmap.grabWidget()方法,将QGraphicsView作为参数传入。 3. 将QPixmap保存为图片文件,可以使用QPixmap.save()方法。 示例代码如下: # 创建QPixmap对象 pixmap = QPixmap(view.size()) # 将QGraphicsView保存为图片 pixmap = pixmap.grabWidget(view) # 保存为图片文件 pixmap.save("view.png") 其中,view为QGraphicsView对象。保存的图片文件名为view.png。 ### 回答2: QGraphicsView是Qt图形库中用于显示图形场景的控件,而保存为图片是将当前控件内容保存为图片格式的功能。在使用QGraphicsView控件的过程中,可能需要将其显示的图形保存为图片,例如在生成报告时需要将图形保存为图片格式进行展示。 QGraphicsView的保存为图片可以通过QPixmap::grabWidget()函数来实现。该函数需要传入一个QWidget类型的指针,将控件指针作为参数传入即可。该函数将当前QWidget控件的内容转换为QPixmap对象并返回。 然后可以使用QPixmap对象的save()函数将该对象保存为图片。需要注意的是,保存的图片格式需要在保存时指定,可以指定为png、jpg等格式。 下面是一个保存QGraphicsView为图片的示例代码: ```c++ QPixmap pixMap = QPixmap::grabWidget(ui->graphicsView); QString fileName = "test.png"; //保存的文件名及格式 pixMap.save(fileName); 在实际使用时,可能需要手动设置保存的图片大小及像素密度等参数。可以使用QPixmap对象的scaled()函数进行缩放或裁剪,再进行保存。例如: ```c++ QPixmap pixMap = QPixmap::grabWidget(ui->graphicsView); QPixmap scaledPixMap = pixMap.scaled(QSize(800, 600), Qt::KeepAspectRatio, Qt::SmoothTransformation); QString fileName = "test.png"; //保存的文件名及格式 scaledPixMap.save(fileName, "PNG", 100); //图片质量为100% 总之,QGraphicsView保存为图片功能较为简单,在使用过程中只需调用QPixmap::grabWidget()函数将控件内容转换为QPixmap对象,并使用QPixmap对象的save()函数将其保存为图片即可。同时可以手动设置保存的图片大小、像素密度及图片格式等参数,以便满足实际需要。 ### 回答3: QGraphicsView作为Qt中较为重要的绘图控件,它提供了许多应用于图形和场景的功能。在某些应用程序中,可能需要将场景或视图保存为图片,以便于共享和传递,或者以备日后查看和编辑。那么如何将QGraphicsView保存为图片呢? 一、使用QPixmap 1.1 将QGraphicsView转成QPixmap 将QGraphicsView转成QPixmap是一种简单的保存方式。具体实现方法如下: ```python pixmap = QPixmap(view.viewport().rect().size()) view.render(pixmap) pixmap.save('image.png', 'png') 其中,viewport()方法得到视图应用的绘制区域,由viewport的大小构造QPixmap,将视图渲染到QPixmap上,最后保存。 1.2 调整分辨率 对于想增加输出图片分辨率的用户,可以使用以下代码: ```python scale = 2 pixmap = QPixmap(scale * view.viewport().size()) pixmap.fill(Qt.white) painter = QPainter(pixmap) painter.setViewport(view.viewport().rect()) painter.setWindow(view.rect()) view.render(painter) painter.end() pixmap.save('image.png', 'png') 对于该代码,我们新增了一个变量scale,将视图的大小乘以scale倍数,同时使用窗口作为绘制第一步。这里我们将其设置为QView.rect()。 1.3 将QGraphicsPixmapItem添加到场景 另一种方法是将QGraphicsView的内容复制到场景中,最后将场景保存为图片。具体实现过程如下: ```python pixmap = QPixmap(view.viewport().size()) pixmap.fill(Qt.transparent) painter = QPainter(pixmap) scene = QGraphicsScene(view.viewport()) view.rendezvous(scene) scene.render(painter) painter.end() pixmap.save('image.png', 'png') 二、使用QImage 要将QGraphicsView保存为QImage,可以使用以下代码: ```python image = QImage(view.viewport().size(), QImage.Format_RGB32) painter = QPainter(image) view.render(painter) painter.end() image.save('image.png', 'png') 值得注意的是,由于QImage存储图像的方式和QPixmap不同,因此需要将颜色空间设置为RGB32。 三、保存为pdf 如果想保存场景为pdf文件,可以使用以下代码: ```python printer = QPrinter(QPrinter.HighResolution) painter = QPainter() printer.setOutputFileName('output.pdf') painter.begin(printer) painter.setViewport(view.viewport().rect()) painter.setWindow(view.rect()) view.render(painter) painter.end() 尽管以上三种方法都可以将QGraphicsView保存为图片,但他们在特定的应用场景下各自有其优势和短板。通过使用这些方法,您可以根据实际应用需求来选择最合适的保存方式。