VC6制作玫瑰花
仅供参考:
1、你那个把几个数值和画笔类型改一下就能满足要求
2、给你一个完善的demo参考下
////////////////////////////////////////////////////////////////////
//程序名称:一朵逼真的玫瑰花
//编译环境:VC6.0,EasyX2011惊蛰版
//作者:孙琨
//编写地点:XUST
//编写时间:2013年11月11日
//编写目的:赠给未来可能看到的你
#include
#include
#include
//定义全局变量
introsesiZe=500;
inth=-250;
//定义结构体
structDOT
douBLex;
doubley;
doublez;
doublered;//红色
doublegreen;//绿色
//blue(蓝色)通过red计算
//计算点
boolcalc(doublea,doubleb,doublec,DOT&d)
doublej,n,o,w,z;
if(c>60)//花柄
d.x=sin(a*7)*(13+5/(0.2+pow(b*4,4)))-sin(b)*50;
d.y=b*rosesize+50;
d.z=625+cos(a*7)*(13+5/(0.2+pow(b*4,4)))+b*400;
d.red=a*1-b/2;
d.green=a;
returntrue;
doubleA=a*2-1;
doubleB=b*2-1;
if(A*A+B*B<1)
if(c>37)//叶
j=(int(c)&1);
n=j?6:4;
o=0.5/(a+0.01)+cos(b*125)*3-a*300;
w=b*h;
d.x=o*cos(n)+w*sin(n)+j*610-390;
d.y=o*sin(n)-w*cos(n)+550-j*350;
d.z=1180+cos(B+A)*99-j*300;
d.red=0.4-a*0.1+pow(1-B*B,-h*6)*0.15-a*b*0.4+cos(a+b)/5+pow(cos((o*(a+1)+(B>0?w:-w))/25),30)*0.1*(1-B*B);
d.green=o/1000+0.7-o*w*0.000003;
returntrue;
if(c>32)//花萼
c=c*1.16-0.15;
o=a*45-20;
w=b*b*h;
z=o*sin(c)+w*cos(c)+620;
d.x=o*cos(c)-w*sin(c);
d.y=28+cos(B*0.5)*99-b*b*b*60-z/2-h;
d.z=z;
d.red=(b*b*0.3+pow((1-(A*A)),7)*0.15+0.3)*b;
d.green=b*0.7;
returntrue;
o=A*(2-b)*(80-c*2);
w=99-cos(A)*120-cos(b)*(-h-c*4.9)+cos(pow(1-b,7))*50+c*2;
z=o*sin(c)+w*cos(c)+700;
d.x=o*cos(c)-w*sin(c);
d.y=B*99-cos(pow(b,7))*50-c/3-z/1.35+450;
d.z=z;
d.red=(1-b/1.2)*0.9+a*0.1;
d.green=pow((1-b),20)/4+0.05;
returntrue;
returnfalse;
//主函数
voidmain()
//定义变量
short*zBuffer;
intx,y,z,zBufferIndex;
DOTdot;
//初始化
initgraph(640,480);//创建绘图窗口
setbkcolor(WHITE);//设置背景色为白色
cleardevice();//清屏
//初始化z-buffer
zBuffer=newshort[rosesize*rosesize];
memset(zBuffer,0,sizeof(short)*rosesize*rosesize);
for(intj=0;j<2000&&!_kbhit();j++)//按任意键退出
for(inti=0;i<10000;i++)//减少是否有按键的判断
if(calc(double(rand())/RAND_MAX,double(rand())/RAND_MAX,rand()%46/0.74,dot))
z=int(dot.z+0.5);
x=int(dot.x*rosesize/z-h+0.5);
y=int(dot.y*rosesize/z-h+0.5);
if(y>=rosesize)continue;
zBufferIndex=y*rosesize+x;
if(!zBuffer[zBufferIndex]||zBuffer[zBufferIndex]>z)
zBuffer[zBufferIndex]=z;
intred=~int((dot.red*h));
if(red<0)
red=0;
if(red>255)
red=255;
intgreen=~int((dot.green*h));
if(green<0)
green=0;
if(green>255)
green=255;
intblue=~int((dot.red*dot.red*-80));
if(blue<0)
blue=0;
if(blue>255)
blue=255;
putpixel(x+50,y-20,RGB(red,green,blue));
Sleep(1);
delete[]zBuffer;
getch();
closegraph();
可以让玫瑰花一朵朵出现围成一个桃心的VB程序
首先你要准备一个玫瑰花图片文件,要小一点。
然后在窗体上放12个Image控件,组成一个控件数组,摆成心形,Picture属性设置为你的玫瑰花。Visibel属性全部设置为False。
在窗体上放一个Timer控件。Interval属性设置为1000,每秒显示一朵玫瑰花。
OK!你的心愿完成了!
PrivateSubForm_Load()
Fori=0To11
Image1(i).Picture=LoadPicture(App.Path+"\西安绿博园七彩玫瑰.jpg")
Timer1.Enabled=True
EndSub
PrivateSubTimer1_Timer()
StATIciAsInteger
Image1(i).Visible=True
i=i+1
Ifi=Image1.CountThen
Label1.Visible=True
Timer1.Enabled=False
EndIf
EndSub
怎么用rational rose做类图的实例
怎么用rational rose画uml类图 创建关系,小刚seo为你解答