gpt4 book ai didi

c++ - 更改 DWORD 颜色 alpha channel 值

转载 作者:行者123 更新时间:2023-11-30 01:17:21 25 4
gpt4 key购买 nike

我有一个起始颜色:0xffff00ff,即 a:255、r:255、g:0、b:255。

目标是根据百分比将颜色的 alpha channel 更改为不透明。即该颜色的 50% 不透明度大约为 0x80ff00ff。

我是如何尝试找到解决方案的:

DWORD cx = 0xffff00ff;
DWORD cn = .5;

DWORD nc = cx*cn;

最佳答案

DWORD cx = 0xffff00ff;
float cn = .5;
DWORD alphaMask=0xff000000;
DWORD nc = (cx|alphaMask)&((DWORD)(alphaMask*cn)|(~alphaMask));

这应该可以解决问题。我在这里所做的就是用 or(用“|”符号表示)将 DWORD 的前 8 位设置为 1,然后将这些位与您希望的正确值相加,即 alpha 掩码乘以 cn。当然,我将乘法的结果再次转换为 DWORD。

关于c++ - 更改 DWORD 颜色 alpha channel 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24592531/

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