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;
}
}
查看全文
相关阅读:
POJ 2342 树形DP入门题
《4》CentOS7.0+OpenStack+kvm云平台部署—配置Nova
GDI+ 填充背景时,非常多时候不起作用,GDI、GDI+配合运用
Jave中System.getProperty()获取的值
NYOJ128 前缀式计算(栈的运用)
Web安全測试二步走
一个SQL update语句
C#时间格式之GMT时间的格式
粘包的处理
socket对于大数据的发送和接收
原文地址:https://www.cnblogs.com/Tue/p/236311.html
最新文章
应付暂估
请教工序委外加工在账务上如何处理?
外加工费用计入其他应付款吗?
暂估及成本结转的分录的流程
委外加工如何做凭证
巧用北京银行“定活盈”优化储蓄财富翻倍
美国超甜玉米栽培技术要点
水果玉米
投资理财 需要知识
前端实现文件的断点续传
热门文章
Javascript中的原型链、prototype、__proto__的关系
Javascript的匿名函数与自执行
Flex 布局学习笔记
《理解 ES6》阅读整理:块绑定(Block Binding)
轮播图
关于offsetWidth,offsetHeight,offsetTop,offsetLeft和二维数组的声明
从let和const谈起
彻底理解Javascript 中的 Promise(-------------------------------***---------------------------------)
Extjs4 操作TreeStore 处理proxyAjax 获取的数据
hdu1285+hdu2467(拓扑排序)
Copyright © 2011-2022 走看看