Windows 中的 1G 颜色与 C++ MFC

问题描述

我在 Windows 10 家庭高级版上使用带有 MFC 的 Visual C++ 2019。视频模式为 3840*2160 40-60 Hz (AMD FreeSync) 30 位/像素:10 位/颜色部分,1 073 741 824 色。

我可以用 COLORREF = unsigned int(32 位)给出颜色,解释为 (red | (green

例如:CDC::SetPixel、FillSolidRect、SetTextColor、SetBkColor、Line、CPen/CBrush构造函数、CBitmap等,谢谢。

(我想节省转换的时间。比如我自己的IDE里Page Up/Down键的速度是10Hz左右,很慢。我在主存中生成图片(用CreateCompatibleBitmap,CreateCompatibleDC,BitBlt)。当我直接绘制到显示器上时,这会更慢。我尝试了 SetBkMode OPAQUE 和 TRANSPARENT 等,textout 和 DrawText 等。)

解决方法

GDI 不支持 10 位颜色。您需要使用 DirectX。