编程画星星(编程画心形)
编写程序,在窗体上画出一个五角星
试试:
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
希望有帮助到你,望采纳,谢谢!