| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3718 人关注过本帖
标题:Grahpics drawArc
只看楼主 加入收藏
skypz
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
Grahpics drawArc
用Graphics drawArc 绘制八个同心圆,园与园之间相差八个像素?这个怎么做啊
我是新手,希望大家多多帮我!多谢了!
搜索更多相关主题的帖子: drawArc Grahpics 
2010-06-13 09:10
skypz
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-13
收藏
得分:0 
这个怎么画啊,我的确不知道,考试就是这个类型的题目,有没有高手指教一下,多谢了!
2010-06-13 18:31
狂澜
Rank: 2
等 级:论坛游民
帖 子:50
专家分:10
注 册:2009-5-22
收藏
得分:10 
图片附件: 游客没有浏览图片的权限,请 登录注册

自己看看截图吧,我写的不好,不知道怎么随机生成颜色和画同心圆,并且打开后不知道怎么关闭 ,先凑合着看吧!
package circles;
import java.awt.Graphics;
import java.awt.*;
import java.awt.event.*;
public class C_circles1 extends Frame implements ActionListener
  {  static C_circles1 frm=new C_circles1();
     static Button bnt=new Button("画同心圆");
     int circle=0;
  public static void main(String[] args)
     {  
         frm .setLocation(400, 300);
         frm.setSize(500, 500);
         frm.setLayout(null);
         bnt.setBounds(220, 420, 60, 25);
         frm.add(bnt);
         bnt.addActionListener(frm);
         frm.setVisible(true);   
     }
  public void actionPerformed(ActionEvent e)
      {
         Button bt =(Button)e.getSource();
         if (bt==bnt)circle=1;
         System.out.println(" 绘图成功!");
         Graphics g=getGraphics();
         paint(g);         
     }
  public void paint(Graphics g)
    {
       g.setColor(Color.red);
       g.drawArc(125, 125, 120, 120, 45, 360);
       g.drawArc(125, 125, 230, 230, 55, 360);
       g.setColor(Color.yellow);
       g.drawArc(125, 125, 140, 140, 65, 360);
}
}
************************
哪位在帮忙修改一下啊,抛砖引玉咯!
2010-06-14 00:57
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:7 
程序代码:
import java.awt.*;
import javax.swing.*;

public class ShapeTest {

    public static void main(String[] args) {

        DrawFrame f = new DrawFrame();
       
       
    }
}
    class DrawFrame extends JFrame {
        public DrawFrame() {
            setTitle("ShapeTest");
            setSize(400,400);

            DrawCircles circles = new DrawCircles();
            add(circles);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setVisible(true);
        }
    }

    class DrawCircles extends JComponent {
        public void paintComponent(Graphics g) {
            int centerX = 200;
            int centerY = 200;
            int radius = 50;
            for (int i=0;i<8;i++) {
                g.drawArc(centerX - i * 4,centerY - i * 4,radius + i * 8,radius + i * 8,0,360);
            }
           
           
        }
    }

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-06-15 10:39
skypz
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-13
收藏
得分:0 
比我强多了,哈哈

2010-06-15 13:12
skypz
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-13
收藏
得分:0 
那个同心圆的圆心为什么是变化的?为什么圆心不能一直固定呢?例如
g.drawArc(120,120,140,140,0,360);
g.drawArc(120,120,160,160,0,360);
g.drawArc(120,120,180,180,0,360);
g.drawArc(120,120,180,180,0,360);

2010-06-15 13:20
skypz
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-13
收藏
得分:0 
只需弧的height,和width每次增大二十个像素,圆心为什么还要变化?
2010-06-15 13:22
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:3 
//开始我也以为x,y是圆心的坐标,看了API文档才知原来是左上角的坐标

drawArc
public abstract void drawArc(int x,
                             int y,
                             int width,
                             int height,
                             int startAngle,
                             int arcAngle)绘制一个覆盖指定矩形的圆弧或椭圆弧边框。
得到的弧从 startAngle 开始跨越 arcAngle 度,并使用当前颜色。对角度的解释如下:0 度角位于 3 点钟位置。正值指示逆时针旋转,负值指示顺时针旋转。

弧的中心是矩形的中心,此矩形的原点为 (x, y),大小由 width 和 height 参数指定。

得到的弧覆盖 width + 1 像素宽乘以 height + 1 像素高的区域。

角度是相对于外接矩形的非正方形区域指定的,45 度角始终落在从椭圆中心到外接矩形右上角的连线上。因此,如果外接矩形在一个轴上远远长于另一个轴,则弧段的起点和结束点的角度将沿边框长轴发生更大的偏斜。


参数:
x - 要绘制弧的左上角的 x 坐标。
y - 要绘制弧的左上角的 y 坐标。
width - 要绘制弧的宽度。
height - 要绘制弧的高度。
startAngle - 开始角度。
arcAngle - 相对于开始角度而言,弧跨越的角度。
另请参见:
fillArc(int, int, int, int, int, int)


你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-06-15 14:43
狂澜
Rank: 2
等 级:论坛游民
帖 子:50
专家分:10
注 册:2009-5-22
收藏
得分:0 
明白了版主,大致是这个意思吧
图片附件: 游客没有浏览图片的权限,请 登录注册

这是我的程序运行图;
图片附件: 游客没有浏览图片的权限,请 登录注册

顺便问一句版主,随即颜色函数怎么搞啊?
2010-06-15 15:44
快速回复:Grahpics drawArc
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021505 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved