2

在这段代码中:

QPainter painter(&image);

// do painting .......

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

为了刷新所有更改,我是否需要在保存 QImage 之前关闭 QPainter,或者我可以在关闭 QPainter 对象之前保存它?

4

1 回答 1

1

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

于 2012-12-05T17:09:23.863 回答