2 2002 Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-12 #1 我想画按钮,但是按钮的颜色要与背景的颜色融合,请问可以用什么算法?
B beta Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-12 #6 用 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 单独作为一变量提出来, 避免在循环体内反复计算同一数值。
用 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 单独作为一变量提出来, 避免在循环体内反复计算同一数值。