Qt显示设置设置为灰度

时间:2016-04-19 19:05:47

标签: c++ qt

如何更改整个应用程序将以灰度显示的每个像素一个字节的QT应用程序的显示设置?

我知道如何使用抓取,然后将颜色框架转换为灰度,然后将其绘制回PaintEvent,但它不是我需要的。 我正在寻找一种将整个屏幕设置为灰度而无需转换的方法。

1 个答案:

答案 0 :(得分:0)

好消息是Qt实际上支持渲染到灰度软件光栅化器,很明显看qpaintengine_raster_p.hqpaintengine_raster.cpp

坏消息是你必须实现自己的平台插件,只需从当前使用的插件开始并覆盖它以使用灰度QImage进行像素存储,它将无法使用{{ 1}}:

QPixmap

一旦平台插件向下传递灰度case QInternal::Pixmap: qWarning("QRasterPaintEngine: unsupported for pixmaps..."); ,就应该拾取它并为其配置光栅化器。

More bad news

  

没有关于编写QPA插件的详细教程文档   这次。但是,Qt5附带了两个示例插件:

QImage
相关问题