zoukankan
html css js c++ java
用整数乘法实现快速颜色混和
一段颜色混和的代码,研究了一下别人的alpha混和的代码,
这里把自己的代码贴出来,主要利用了整数乘法的特点
BYTE byte1,byte2;
byte1*byte2必然是一个不超过16位的数:
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;
}
}
查看全文
相关阅读:
utuntu sever1804显示中文putty可以输入中文
windows上用putty从linux上下载文件
2020Ubuntu server1804最新安装后的配置
2020年ubuntu sever1804 安装和配置
堡垒机
防病毒网关
审计系统
常用网站
AWVS的使用1
windows Server 监控远程桌面连接信息
原文地址:https://www.cnblogs.com/Tue/p/236311.html
最新文章
IBM Rational Software Architect V9.0安装图解
在唯一密钥属性“fileExtension”设置为“.”时,无法添加类型为“mimeMap”的重复集合项
asp.net 初级程序员面试题【待续】
c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结【转载】
解决.NET Core R1中文乱码问题
VS2013未能正确加载的问题【转载】
asp.net core-项目开发中问题汇总
c#常用数据结构解析【转载】
SQL Server 复制:事务发布(读写分离)
无法打开物理文件 XXX.mdf“,操作系统错误 5:”5(拒绝访问。)"的解决办法
热门文章
Bash 和用户交互
Linux 压缩和解压缩
Linux btrfs文件系统
Linux LVM逻辑卷和快照
RAID简介
win7下firefox和chrome升级到最新版之后页面打不开的解决办法
2020ubuntu1804server编译安装redis笔记(三)启动服务和使用redis
2020ubuntu1804server编译安装redis5笔记(二)配置redis
ubuntu1804自带的vim和vi都是用什么版本?
vs code开发python时找不到当前目录下的文件、UnicodeDecodeError: 'gbk'
Copyright © 2011-2022 走看看