扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
有两中方法:
创新互联专业为企业提供陇南网站建设、陇南做网站、陇南网站设计、陇南网站制作等企业网站建设、网页设计与制作、陇南企业网站模板建站服务,10年陇南做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
1 事先你已经有这个图片了,就是用代码再往过取一下 ,用awt的image对象,自己可以百度具体写法。
2 想完全用代码画一个,那么就得研究米字国旗,的颜色分布、位置坐标等信息,这个工作我还真没做过,自己研究一下应该没问题:先画一个白色长方形,然后红色米字的布局坐标(为了设置红颜色),然后其他地方颜色设置,一步步测试。说白了,也就是个颜色、坐标、比例等计算问题。
给你一个五星红旗的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);
}
}
等待javafx 8(in jdk8),提供 了打印Node的功能。
现在可以使用snapshot方法生成一个WritableImage,转成BufferedImage,使用java的打印功能打印出来。
我的世界做中国国旗的方法:
1、首先用白色的羊毛合成白色的旗帜,如图所示!6块羊毛和一根木棍,再用红色的燃料与旗帜合成红色的旗帜,其实说是国旗不如说是很像国旗的旗帜!
2、举例:英国的国旗(蓝色旗帜),当然第一步我们合成旗帜,然后利用骨粉和旗帜拉出两条条斜杠,就是英国上面的那个!接着用玫瑰红,拉出两条红框!
3、然后一步一步来画中间的十字架!用骨粉和玫瑰红上面合成的旗帜合成,最重要的是弄成中间的一个米字
4、然后我们用上玫瑰花和刚才的旗帜合成!
5、然后其他国家的呢,主要是利用颜色燃料和旗帜的合成,其中有条杠的旗帜做好合成啦,主要是要自己去善于发现以及参照别国的国旗性质!
/**
* @(#)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);
}
}
画中国国旗步骤如下:
1、先画出旗子的旗杆,画出一个圆,旗杆就画好了。
2、在画好的旗杆右边画出国旗的旗面,画旗面的时候要用波浪线画出旗子随风飘扬的感觉,然后先画出一个较大的五角星。
3、接着在画好的旗大五角星周围画出四个小的的五角星,一面中国国旗的形状就画好了。
4、最后给画好的中国国旗涂上颜色。给中国国旗的旗杆涂黄色灰色,旗面涂上红色,旗面上的五角星再涂上黄色。一面简单的中国国旗就画好了。
中国国旗:
根据1949年9月28日中国人民政治协商会议第一届全体会议主席团公布的《国旗制法说明》,中华人民共和国国旗旗面为红色,长方形,其长与高为三与二之比,旗面左上方缀黄色五角星五颗。一星较大,其外接圆直径为旗高十分之三,居左;四星较小,其外接圆直径为旗高十分之一,环拱于大星之右。旗杆套为白色。
中华人民共和国国旗的红色象征革命。旗上的五颗五角星及其相互关系象征共产党领导下的革命人民大团结。五角星用黄色是为了在红地上显出光明,黄色较白色明亮美丽,四颗小五角星各有一尖正对着大星的中心点,这是表示围绕着一个中心而团结,在形式上也显得紧凑美观。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流