近日在网上看到一生成分形图形delphi程序,生成图形非常漂亮,所以改成了c++,并提高了生成效率.
代码如下(原来的代码使用复数运算,考虑到效率,去掉了,但仍然保留在注释中)
//此函数用来获取颜色,s在[0,1]之间,且颜色是连续的
COLORREF GetColor(double s)
{
int r,g,b;
if(s<=0.25)
{
g=int(255*s/0.25);
return RGB(0,g,255);
}
else if(s>0.25&&s<=0.5)
{
b=255-int(255*(s-0.25)/0.25);
return RGB(0,255,b);
}
else if(s>0.5&&s<=0.75)
{
r=int(255*(s-0.5)/0.25);
return RGB(r,255,0);
}
else
&
代码如下(原来的代码使用复数运算,考虑到效率,去掉了,但仍然保留在注释中)
//此函数用来获取颜色,s在[0,1]之间,且颜色是连续的
COLORREF GetColor(double s)
{
int r,g,b;
if(s<=0.25)
{
g=int(255*s/0.25);
return RGB(0,g,255);
}
else if(s>0.25&&s<=0.5)
{
b=255-int(255*(s-0.25)/0.25);
return RGB(0,255,b);
}
else if(s>0.5&&s<=0.75)
{
r=int(255*(s-0.5)/0.25);
return RGB(r,255,0);
}
else
&

该博客介绍了如何将Delphi中的分形图形生成代码转换为C++,并提高生成效率。通过使用GetColor函数根据比例获取连续颜色,并在OnDraw函数中进行绘制,通过对复数运算的调整,实现了不同效果的分形图形。最后,利用BITMAPINFO和StretchDIBits进行位图绘制。
最低0.47元/天 解锁文章
427

被折叠的 条评论
为什么被折叠?



