gpt4 book ai didi

c++ - 从 unsigned long (COLORREF) 获取 QColor 而不包括 windows.h

转载 作者:行者123 更新时间:2023-11-28 00:04:45 25 4
gpt4 key购买 nike

我有一个项目,我需要使用一个需要 COLORREF 的 API 和另一个返回 COLORREF 的 API。 COLORREF 是 MFC,我的项目 Qt 不想使用任何 MFC 代码。 COLORREF 最终不过是 unsigned long,所以我希望有一个解决方案。

所以有2个问题:

  • 从返回 COLORREF 的 API 中获取 unsigned long 并从这个 unsigned long 数创建 QColor。请注意,我不能使用 GetRValue()GetGValue(),因为它们会要求我包含 windows.h
  • 从创建的 QColor(我可以做到),将其转换为合适的无符号长整数,我可以将其发送到需要 COLORREF 的 API。

最佳答案

COLORREF只是组织为0x00bbggrrDWORD,您可以轻松地将其转换为组件并构造QColor

int r = color & 0xff;
int g = (color >> 8) & 0xff;
int b = (color >> 16) & 0xff;
QColor qc(r, g, b);

关于c++ - 从 unsigned long (COLORREF) 获取 QColor 而不包括 windows.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36396659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com