渐变图形问题---->200分 请各位高人指教!!!!!!!(200分)

  • 主题发起人 主题发起人 hongdu
  • 开始时间 开始时间
Pantheon你的算法我刚才试过了,总体还不错,由于你假想边框是黑的所以渐近得太快
Another_eYes你的算法很好,可是抖动与渐近是不同的.
Pantheon你好:其实在空间场中有大量的这种颜色块,需要渐变,边界区之间是相邻,
你的算法如能选其他的函数作渐变函数,我想这个问题将会圆满解决!!!
谢谢!!
 
渐变最简单的方法是百分比渐变啦.
第一种颜色占的百分比渐增, 第二种颜色占的百分比渐减.
不知道下述思路可对?
可以认为:
每个点是向4个方向渐变, 每个方向由前景色和三种结束色占不同百分比合成
比如, 向左渐变:
current.red := (current.red * current.percent +
left.red * (100 - up.percent -do
wn.percent) +
up.red * (100 - left.percent -do
wn.percent) +
do
wn.red * (100 - left.percent - up.percent)) div 100;
current.green := (current.green * current.percent +
left.green * (100 - up.percent -do
wn.percent) +
up.green * (100 - left.percent -do
wn.percent) +
do
wn.green * (100 - left.percent - up.percent)) div 100;
current.blue := (current.blue * current.percent +
left.blue * (100 - up.percent -do
wn.percent) +
up.blue * (100 - left.percent -do
wn.percent) +
do
wn.blue * (100 - left.percent - up.percent)) div 100;
next pixel &
next current.percent
....
 
>Pantheon你的算法我刚才试过了,总体还不错,由于你假想边框是黑的所以渐近得太
>快
假想边框不是黑的,无穷远是黑的,Exp(-X)下降太快,到边界上已成黑色,
我想不如选 F(X)=1/(1+X),也省得开n次根号了.
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部