注册 登录
编程论坛 JAVA论坛

习题第八题,关于图型边框的3个像素效果

q1006924067 发布于 2015-06-14 00:07, 862 次点击
要求:使用库为acm,使用类为:acm.graphics,acm.program,Java.awt
绘圆工具为:GOval
做要求的目的是让我目前可以理解的,
如果要是实在为难的话,只要用的库是acm就行
问题如下:[local]1[/local]
运行结果三个像素效果,第七题我会做一个像素的{图形没三个像素的清楚},不用发第七题答案



只有本站会员才能查看附件,请 登录

自己做的第八题内容:
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录


运行结果是三个像素没错,不过绿和红挡住了前三环的一些部分
只有本站会员才能查看附件,请 登录



问题有看不明白,接续问我
10 回复
#2
q10069240672015-06-14 00:09
题目刚才没发出来
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

#3
q10069240672015-06-14 11:58
就算没大神,各位也捧个人场啊,留下几句话啊,
#4
年华与流年2015-06-14 12:48
只能默默地帮你顶一下贴了
#5
q10069240672015-06-14 15:00
谢了
#6
秦时的明月夜2015-06-14 15:37
你把set.fille(true);改为set.filled(false);因为你填充的是白色所以就遮挡住了……你最好找到这个ACM这个类库的API好好查查里面的解释和介绍
#7
秦时的明月夜2015-06-14 15:49
你下次最好发程序贴上来比较好……吧那句setfillcolor()那句话删了false了就没有什么用了……
只有本站会员才能查看附件,请 登录
程序代码:
import java.awt.Color;

import acm.graphics.GOval;
import acm.program.GraphicsProgram;


public class 奥运五环 extends GraphicsProgram {
    public void run(){
        GOval goval=new GOval(100, 60, 100, 100);
        goval.setFilled(false);
        goval.setColor(Color.blue);
        add(goval);
        GOval goval2=new GOval(210, 60, 100, 100);
        goval2.setFilled(false);
        goval2.setColor(Color.red);
        add(goval2);
        GOval goval3=new GOval(320, 60, 100, 100);
        goval3.setFilled(false);
        goval3.setColor(Color.yellow);
        add(goval3);
        GOval goval4=new GOval(155, 120, 100, 100);
        goval4.setFilled(false);
        goval4.setColor(Color.black);
        add(goval4);
        GOval goval5=new GOval(265, 120, 100, 100);
        goval5.setFilled(false);
        goval5.setColor(Color.green);
        add(goval5);
    }
}
#8
q10069240672015-06-14 18:19
明白了一些,要是能填充透明色就好了,可是没有透明色代码,
好像需要自己构建一个,我上网搜了下,实在是读不懂
版主能给建个透明色,或者用其他效果可以让奥运五环为三个像素的
#9
q10069240672015-06-14 18:21
new Color(R,G,B,Alpha)好像说很简单就能弄个透明色,
可是不知怎么用
#10
秦时的明月夜2015-06-14 20:32
只有本站会员才能查看附件,请 登录
程序代码:
import java.awt.Color;

import acm.graphics.GOval;
import acm.program.GraphicsProgram;
public class COLOTEST extends GraphicsProgram {
    public void run(){
        Color 透明色=new Color(1,1,1,0);
        Color c=new Color(Color.GREEN.getRed(),Color.GREEN.getGreen(),Color.GREEN.getBlue(),100);
        GOval goval1=new GOval(150,150,80,80);
        goval1.setFilled(true);
        goval1.setColor(透明色);
        goval1.setFillColor(c);
        
        Color c2=new Color(Color.RED.getRed(),Color.RED.getGreen(),Color.RED.getBlue(),150);
        GOval goval2=new GOval(180,180,150,150);
        goval2.setFilled(true);
        goval2.setColor(透明色);
        goval2.setFillColor(c2);
        
        Color c3=new Color(Color.ORANGE.getRed(),Color.ORANGE.getGreen(),Color.ORANGE.getBlue(),200);
        GOval goval3=new GOval(205,205,200,200);
        goval3.setFilled(true);
        goval3.setColor(透明色);//去掉黑边
        goval3.setFillColor(c3);//填充图形色
        add(goval3);
        add(goval2);
        add(goval1);
    }
}
#11
q10069240672015-06-14 21:17
恩,透明色,看懂了
三个像素的我也想明白了,也运行OK啦,以前把问题想复杂
完美结贴
1