【问题标题】:1G colors in Windows with C++ MFC使用 C++ MFC 的 Windows 中的 1G 颜色
【发布时间】:2023-04-01 06:44:01
【问题描述】:

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

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

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

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

【问题讨论】:

  • Windows 的 GDI 不支持 10 位/通道颜色模式。
  • GDI COLORREF 的每个通道(红色、绿色、蓝色)仅支持 8 位 (0-255) 值,因此 COLORREF 最多支持 256x256x256 = 16,777,216 种颜色。它简直不能再高了。

标签: c++ windows visual-c++ colors mfc


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-07-29
    • 2011-08-03
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多