首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Qt5绘制X11像素图

如何使用Qt5绘制X11像素图
EN

Stack Overflow用户
提问于 2013-05-29 04:17:00
回答 1查看 1.7K关注 0票数 1

我正在尝试将X11像素图绘制为QWidget

在过去使用Qt4.x时,我会利用QPixmap::fromX11Pixmap来创建一个可以在绘画中轻松使用的QPixmap。然而,这个功能已经在Qt5中被删除了,据我所知,这个功能在Qt框架的其他地方还没有提供。

虽然我已经能够创建和分配X11像素图,但我还没有找到任何解决方案来执行绘画。欢迎任何建议/解决方案!

EN

回答 1

Stack Overflow用户

发布于 2017-08-10 04:34:03

我也有同样的问题,但没有找到任何答案。在做了一些修改之后,我得到了这个解决方案。

代码语言:javascript
运行
复制
// Initialize your X11 enviroment.
Display* display ...
Pixmap pixmap ... 
/* Do your pixmap drawing HERE */
// Make sure all drawing have been done
XFlush(display);
// Convert your Pixmap to XImage
XImage *image = XGetImage(display, pixmap, 0, 0, width, height, 0xFFFFFFFF, ZPixmap);
// Convert XImage to QImage
QImage tempImage = qimageFromXImage(image);
// Destroy temporal XImage
XDestroyImage(image);
// Finally create a QPixmap
QPixmap finalPixmap = QPixmap::fromImage(tempImage);

可以在https://github.com/adobe/webkit/blob/master/Source/WebCore/plugins/qt/QtX11ImageConversion.h中找到函数qimageFromXImage(...)的代码,您可以将头文件和实现复制到源代码树中。

问题解决了!可与QQuickPaintedItem或QGraphicsItem一起使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16800722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档