问题描述
|
如今的显示监视器每通道具有8位或24位彩色,并且大多数都以sRGB彩色模式运行。 GUI和图形库(例如Qt和X)在这些限制内运行。例如,您可以从无符号字符数组(每个通道8位)创建一个QImage,但不能再更多。
那么那些提供1024种灰度阴影的高端显示器会发生什么呢? Qt不提供30位彩色模式,X也不提供。每个通道如何利用所有位?
解决方法
使用OpenGL。来自AMD和Nvidia的文档。
在一个Qt应用程序中,我猜(没有尝试过)应该可以通过创建一个具有适当设置的QGLFormat的QGLWidget(使用setRedBufferSize设置位深度)来为该应用程序获取一个高位深度的区域。等等)。请注意,诸如QPainter之类的东西在QGLWidget上可以很好地工作,因此可能不需要将所有Qt代码移植到OpenGL调用中,只需将您实际上想要访问的位移植到额外的精度上即可。 QImage支持的有限格式在这里当然是一个弱点。
, 即使您无法通过DVI链接直接控制它们,也会利用这些额外的颜色。听说过色彩校准吗?
只有极少数的专业解决方案允许直接控制30位颜色。 (尽管它在DisplayPort上逐渐变得越来越流行)