在QPainter :: end()之前调用QImage :: save()是否安全?

时间:2012-12-05 13:59:11

标签: c++ qt qpainter qimage

在此代码中:

QPainter painter(&image);

// do painting .......

painter.end(); // is this needed?
image.save(tempFileName);

我需要在保存QImage之前关闭QPainter,以便清除所有更改,还是可以在关闭QPainter对象之前保存它?

1 个答案:

答案 0 :(得分:1)

是的,您应在致电painter.end()之前致电image.save()painter.end()的行为最终取决于运行程序运行的任何平台上使用的底层绘制引擎。您可以使用某些版本的Qt在某些平台上的image.save()之前调用painter.end(),但更改您的平台或您的平台Qt的版本可能会在以后引起你的问题。