编程画星星(编程画心形)

http://www.itjxue.com  2023-03-19 08:46  来源:未知  点击次数: 

编写程序,在窗体上画出一个五角星

试试:

void MyDraw(Graphics g,Point center,int radius){

Point[] pts = new Point[5];

//获取五角星5个顶点

pts[0] = new Point(center.X,center.Y - radius);

pts[1] = Rotate72(pts[0],center);

pts[2] = Rotate72(pts[1],center);

pts[3] = Rotate72(pts[2],center);

pts[4] = Rotate72(pts[3],center);

//简单地拉5条线

Pen pen = new Pen(new SolidBrush(Color.Blue));

g.DrawLine(pen,pts[0],pts[2]);

g.DrawLine(pen,pts[0],pts[3]);

g.DrawLine(pen,pts[1],pts[3]);

g.DrawLine(pen,pts[1],pts[4]);

g.DrawLine(pen,pts[2],pts[4]);

}

//旋转72

private Point Rotate72(Point pt,Point center){

int x = (int)(center.X + (pt.X - center.X) * Math.Cos(72.0 * Math.PI/180) - (pt.Y - center.Y) * Math.Sin(72.0 * Math.PI/180)),

y = (int)(center.Y + (pt.X - center.X) * Math.Sin(72.0 * Math.PI/180) + (pt.Y - center.Y) * Math.Cos(72.0 * Math.PI/180));

return new Point(x,y);

}

这样画出来的五角星是中间有五条线的,如果你想画的是中间没有五条线,看看上面的代码自己就可以搞定了。

有代码参考,但是不完全符合自己的要求——我最喜欢的,送给你,哈哈

c语言中line画五角星程序,是线条连成的

用C语言画圆可以通过编译程序的方法实现。

程序源代码:

#include "stdio.h"

#include "graphics.h"

#include "conio.h"

main()

{

int driver=VGA,mode=VGAHI;

int i,num=15,top=50;

int left=20,right=50;

initgraph(driver,mode,"");

for(i=0;inum;i++)

{

ellipse(250,250,0,360,right,left);

ellipse(250,250,0,360,20,top);

rectangle(20-2*i,20-2*i,10*(i+2),10*(i+2));

right+=5;

left+=5;

top+=10;

}

getch();

}

如何用VB画出一下图形五角星?

用line控件,或line命令都可以画。

你要先计算出五角星的五个点的坐标,就可以了。

代码:

Private Sub Form_Load()

Me.AutoRedraw = True

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Const Pi = 3.14159265358979

Cls

r = Val(InputBox("输入五角星的直径,大于1000")) / 2

'中心坐标是(x,y)

'求五个点的坐标

X1 = X: Y1 = Y - r

X2 = X + r * Cos(Pi / 10)

Y2 = Y - r * Sin(Pi / 10)

X3 = X + r * Cos(54 / 180 * Pi)

Y3 = Y + r * Sin(54 / 180 * Pi)

X4 = X - r * Cos(54 / 180 * Pi)

Y4 = Y3

X5 = X - r * Cos(18 / 180 * Pi)

Y5 = Y2

'画五角星

Line (X1, Y1)-(X3, Y3)

Line -(X5, Y5)

Line -(X2, Y2)

Line -(X4, Y4)

Line -(X1, Y1)

End Sub

希望有帮助到你,望采纳,谢谢!

(责任编辑:IT教学网)

更多

推荐站内动态文章