gpt4 book ai didi

qt - 我可以直接将 Qt 对象绘制到 Win32 DC(设备上下文)吗?

转载 作者:行者123 更新时间:2023-12-04 13:33:06 26 4
gpt4 key购买 nike

我可以将 Qt 对象绘制到 QImage,然后将图像绘制到 HDC 或 CDC。这可能会损害我们应用程序的性能。如果能直接把Qt对象画到Win32 HDC或MFC CDC上就好了。我希望有一个类,为了清楚起见说 QWin32Image,然后我可以这样使用它:

QWin32Image image(hdc, 100, 100, Format_ARGB32_Premultiplied);
QPainter painter(&image);
painter.drawText(....);

我的想法有可能吗?或者有更好的方法吗?

最佳答案

简短的回答 - 不。据我所知,在 Qt 中,他们在应用程序代码级别抽象整个 UI 以实现平台独立性。 Qt 将其所有小部件绘制到它自己的缓冲区,然后绘制到屏幕。

长答案 - 合格是。

Qt 提供 Win/MFC Integration Library这将允许 Qt 对象与 HDC 和 MFC 对象交互。这个图书馆确实运作良好。但是在我理解它是如何工作之前,我发现使用它有些困惑。

这个库的作用是允许您在 MFC 窗口中显示 QWindows 或在 Qt 框架中显示 MFC 窗口。只要牢记这一点,就可以让它发挥作用。

或者,QImage.scanLine(0) 指向整个原始位图,您可以使用其中一个 Windows 函数将其直接写入屏幕。尽管函数名称是扫描线,但以这种方式使用它指向原始像素缓冲区的开始。

关于qt - 我可以直接将 Qt 对象绘制到 Win32 DC(设备上下文)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2926810/

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