gpt4 book ai didi

c++ - 无符号整数和颜色

转载 作者:行者123 更新时间:2023-11-28 03:43:40 25 4
gpt4 key购买 nike

我正在尝试使用 0xAABBGGRR 形式的无符号整数(0xFF998877 等...)来改变某些东西的颜色,其中 A 是 Alpha,B、G 和 R 是蓝色、绿色和红色。

不过,我想知道最好的方法是改变我传递的颜色,使其慢慢变暗或变亮。

由于我对这种方式的 unsigned int 没有太多经验,所以我的解决方案只是将值减 1,但这会产生奇怪的结果。是否有一种好方法可以只改变 RGB 元素并保持 Alpha 不变?在我不多的研究中,我确实发现我可以将其他无符号整数相乘以产生我的最终结果,例如(0xFF * 0x99 * 0x99 * 0x99) 但这仍然在最终结果中留下了 alpha 值变量。

非常感谢任何帮助!

最佳答案

您需要做的是将颜色转换为 HSL(or HSV)然后根据需要更改亮度(或值)。然后您需要将其转换回 RGB。

Internet 上有大量代码可用于执行此转换。如果您对此有困难,我可以为您提供一些我自己的代码。

关于c++ - 无符号整数和颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8385231/

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