关于颜色运算的问题?(200分)

  • 主题发起人 主题发起人 2002
  • 开始时间 开始时间
2

2002

Unregistered / Unconfirmed
GUEST, unregistred user!
我想画按钮,但是按钮的颜色要与背景的颜色融合,请问可以用什么算法?
 
融合的意思是按钮和背景平滑过渡,像XP中的按钮一样!!
 
模糊化,如高斯模糊
查查资料
 
查不去具体的算法!!
 
用 ScanLine 应该不难实现吧?
假设按钮和背景的颜色中红色分量分别为 r1, r2, 按钮高度 h (假设上下过渡)
for i := 1 to h do
begin
r := abs(r2 - r1) * i div h * 100;//即当前点应画的颜色的红色分量
end;
g 和 b 分量如法炮制。
当然该段源码还有待进一步优化,但我的基本思想就是这样。
优化时可将 abs(r2 - r1) div h * 100 单独作为一变量提出来,
避免在循环体内反复计算同一数值。
 
不行!!渐变过程只有两个点的宽度!!
 
后退
顶部