java画国旗代码 java画五星红旗的编程代码

怎样用java编国旗

/**

创新互联是一家专注于成都网站建设、网站制作与策划设计,新昌网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:新昌等地区。新昌做网站价格咨询:13518219792

* @(#)ChinaFlag.java

* ChinaFlag Applet application

* @黑色珊瑚

* @version 1.00 08/05/12

*/

import java.awt.*;

public class ChinaFlag extends Frame {

public static void main(String[] args) {

ChinaFlag cf=new ChinaFlag();

cf.setVisible(true);

}

public ChinaFlag() {

setBounds(100,100,400,300);

setBackground(Color.RED);

}

public void paint(Graphics g) {

drawStar(g,70,100,40);

drawStar(g,140,60,12);

drawStar(g,155,86,12);

drawStar(g,155,113,12);

drawStar(g,140,140,12);

}

private void drawStar(Graphics g,int x,int y,int width) {

double[] xb={0,

0.2245139882897926f, // sin18 * tan36

1.0514622242382672f, // 1 / cos18

0.3632712640026804f, // (sin18 * cos36) * sin72

0.5877852522924731f,0, // sin36 , 0

-0.5877852522924731f, // -sin36

-0.3632712640026804f, // -(sin18 * cos36) * sin72

-1.0514622242382672f, // -1 / cos18

-0.2245139882897926f}; // -sin18 * tan36

double[] yb={-1,

-0.3090169943749474f,

-0.3090169943749474f,

0.1180339887498948f, //

0.8090169943749474f,

0.3819660112501051f,

0.8090169943749474f,

0.1180339887498948f, //

-0.3090169943749474f,

-0.3090169943749474f};

g.setColor(Color.YELLOW);

int[] x1=new int[10];

int[] y1=new int[10];

for (int i=0; i10; i++) {

x1[i]=(int)(xb[i]*width+x);

y1[i]=(int)(yb[i]*width+y);

}

g.fillPolygon(x1,y1,10);

}

}

java英国国旗代码怎么写?

有两中方法:

1 事先你已经有这个图片了,就是用代码再往过取一下 ,用awt的image对象,自己可以百度具体写法。

2 想完全用代码画一个,那么就得研究米字国旗,的颜色分布、位置坐标等信息,这个工作我还真没做过,自己研究一下应该没问题:先画一个白色长方形,然后红色米字的布局坐标(为了设置红颜色),然后其他地方颜色设置,一步步测试。说白了,也就是个颜色、坐标、比例等计算问题。

请问一个使用fillPolygon()画国旗上的五角星的算法

给你一个五星红旗的applet,用applet查看器就可以看。其它的你自己来吧

import java.awt.*;

import java.applet.*;

public class HongQi extends Applet{

int r1=30; //外接大圆半径

int r0=(int)(r1*Math.cos(72*Math.PI/180)); //内圆半径

// 以下是大五角星坐标

int[] xrr={

(int)0, (int)(r0*Math.cos(54*Math.PI/180)),

(int)(r1*Math.sin(72*Math.PI/180)), (int)(r0*Math.cos(18*Math.PI/180)),

(int)(r1*Math.cos(54*Math.PI/180)), (int)0,

(int)((-r1)*Math.cos(54*Math.PI/180)),(int)((-r0)*Math.cos(18*Math.PI/180)),

(int)((-r1)*Math.sin(72*Math.PI/180)),(int)((-r0)*Math.cos(54*Math.PI/180))

};

int[] yrr={

(int)-r1, (int)(-r0*Math.sin(54*Math.PI/180)),

(int)(-r1*Math.cos(72*Math.PI/180)), (int)((r0)*Math.sin(18*Math.PI/180)),

(int)((r1)*(Math.sin(54*Math.PI/180))), (int)(r0),

(int)((r1)*(Math.sin(54*Math.PI/180))), (int)((r0)*Math.sin(18*Math.PI/180)),

(int)(-r1*Math.cos(72*Math.PI/180)), (int)(-r0*Math.sin(54*Math.PI/180)),

};

int[] xrr0=new int[10]; //小五角星坐标

int[] yrr0=new int[10];

public void init(){

for (int i = 0; i xrr.length; i++) { //计算大五角星坐标平移

xrr[i]+=50;

yrr[i]+=60;

}

for (int i = 0; i xrr0.length; i++) { //计算小五角星坐标平移

xrr0[i]=xrr[i]/3;

xrr0[i]+=80;

yrr0[i]=yrr[i]/3;

yrr0[i]+=17;

}

}

public void paint(Graphics g){

g.setColor(Color.RED);

g.fillRect(0,0,300,200);

g.setColor(Color.YELLOW);

g.fillPolygon(xrr,yrr,10);

g.fillPolygon(xrr0,yrr0,10);

g.copyArea(88,25,20,20,15,18);

g.copyArea(88,25,20,20,15,38);

g.copyArea(88,25,20,20,0,58);

}

}


网页名称:java画国旗代码 java画五星红旗的编程代码
路径分享:http://scyanting.com/article/dochpgp.html