gpt4 book ai didi

qt - 有没有办法访问 QWidget 后备存储中的图像?

转载 作者:行者123 更新时间:2023-12-02 03:43:33 25 4
gpt4 key购买 nike

我正在自定义小部件的 paintEvent() 中进行一些合成。一些合成是在某些区域已经绘制时完成的,我需要访问目前绘制的当前内容。

因此,我正在寻找一种在 paintEvent 期间访问当前后备存储的图像内容的方法。我看过 QBackingStore ,但没有任何东西可以直接让我访问后备存储位图。是否有一些 API(也许是私有(private)的)可用于提供此功能?

如果没有,我将不得不求助于在显式像素图上绘画并将该像素图渲染到小部件上。

最佳答案

这是可能的,但它不可移植。 QBackingStore 只是大多数平台上 QImage 缓冲区的包装类,但我想这并不能保证。我在编写 QuickWidget 时研究过这个问题。需要类型转换:

QImage * image = dynamic_cast<QImage*>(backingStore()->paintDevice());
if (image != 0) // it's an image, do something with it

小心不要导致 QImage 分离。诸如调整大小之类的事情是禁止的。

检查 QuickWidget 在:

https://code.google.com/p/quickwidget/

关于qt - 有没有办法访问 QWidget 后备存储中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18724391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com