不是很明白这段代码中的算法???

DWORD ColorLerp(DWORD color1,DWORD color2,float fWeight) { if(fWeight<=0.01f) return color1; else if(fWeight>=1) return color2; else { BYTE Weight=(BYTE)(fWeight*255); BYTE IWeight=~Weight; DWORD dwTemp=0; dwTemp =(((0xFF00FF00&color1)>>8)*IWeight+ ((0xFF00FF00&color2)>>8)*Weight )&0xFF00FF00; dwTemp|=(((0x00FF00FF&color1)*IWeight+ (0x00FF00FF&color2)*Weight )&0xFF00FF00)>>8; return dwTemp; } } DWORD strOct(char *str) { int i; DWORD dwTemp=0; for(i=2;str[i]!=0 && i<10;i++) { dwTemp<<=4; dwTemp|=(0x0F & str[i]) + ((str[i]& 0x40)>>6)*9; } return dwTemp; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值