为什么java 的Graphics类中没有画点函数?
8个回答
2016-05-26 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
首先,点动成线,也就是如果把一条线花短一点就可以类似一个点。
其次,点的大小问题,就像windows自带的画图一样,点的大小是可以改变的,很灵活,用代码写很麻烦。
在其次,Graphics虽说没有点,但是你画一个实心的圆就是点了
g.fillOval( x, y, width, height);...
最后,点是特别特殊的,因为是实心的,画大点就是一个小圆,画小点又不好看,所以干脆就不提供画点的方法了。
其次,点的大小问题,就像windows自带的画图一样,点的大小是可以改变的,很灵活,用代码写很麻烦。
在其次,Graphics虽说没有点,但是你画一个实心的圆就是点了
g.fillOval( x, y, width, height);...
最后,点是特别特殊的,因为是实心的,画大点就是一个小圆,画小点又不好看,所以干脆就不提供画点的方法了。
展开全部
因为Graphics类不需要画点函数,可以通过其他函数实现。
可以使用fill()方法,定义一个专门画点的函数。
代码如下:
public void drawPoint(int x,int y,Graphics G){
Shape shape = new Rectangle2D.Double(x,y,1,1);
((Graphics2D)G).fill(shape);
}
或可规定颜色的
public void drawPoint(int x,int y,Graphics G,Color c){
Shape shape = new Rectangle2D.Double(x,y,1,1);
G.setColor(c);
((Graphics2D)G).fill(shape);
}
这样画出来的是一个很小的长方形,看上去就像点一样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数学上的点是没有实体的,也就是无限小的一个概念,
现实的点实际上是用圆来表示点.
就像直线是没有宽度一样,没有宽度的直线相交,得到的点既没有长度,也没有宽度.
为了在显示器上表示这样的点有两种方案.
line(x,y,x,y+1);//注意,根据需要,只有一个维度+1,这样得到的只有一个像素点.
如果不+1,这条直线实际上就是不存在的.
这样,得到的就是一个点,在显示屏上,长和宽为1就是一个像素点,显然我们无法得到比一个像素点更小的点了.
不建议用
circle(x,y,r);取点,r的最小值为1,得到的点最小为4个像素点,而且,计算机还要用π计算
除此之外,画点的其他方法我还在寻找中.
现实的点实际上是用圆来表示点.
就像直线是没有宽度一样,没有宽度的直线相交,得到的点既没有长度,也没有宽度.
为了在显示器上表示这样的点有两种方案.
line(x,y,x,y+1);//注意,根据需要,只有一个维度+1,这样得到的只有一个像素点.
如果不+1,这条直线实际上就是不存在的.
这样,得到的就是一个点,在显示屏上,长和宽为1就是一个像素点,显然我们无法得到比一个像素点更小的点了.
不建议用
circle(x,y,r);取点,r的最小值为1,得到的点最小为4个像素点,而且,计算机还要用π计算
除此之外,画点的其他方法我还在寻找中.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,点动成线,也就是如果把一条线花短一点就可以类似一个点。
其次,点的大小问题,就像windows自带的画图一样,点的大小是可以改变的,很灵活,用代码写很麻烦。
在其次,Graphics虽说没有点,但是你画一个实心的圆就是点了
g.fillOval( x, y, width, height);...
最后,点是特别特殊的,因为是实心的,画大点就是一个小圆,画小点又不好看,所以干脆就不提供画点的方法了。
其次,点的大小问题,就像windows自带的画图一样,点的大小是可以改变的,很灵活,用代码写很麻烦。
在其次,Graphics虽说没有点,但是你画一个实心的圆就是点了
g.fillOval( x, y, width, height);...
最后,点是特别特殊的,因为是实心的,画大点就是一个小圆,画小点又不好看,所以干脆就不提供画点的方法了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fillOval
public abstract void fillOval(int x,
int y,
int width,
int height)
使用当前颜色填充外接指定矩形框的椭圆。
参数:
x - 要填充椭圆的左上角的 x 坐标。
y - 要填充椭圆的左上角的 y 坐标。
width - 要填充椭圆的宽度。
height - 要填充椭圆的高度。
你把width,height 设置为相差1 不就是点了
public abstract void fillOval(int x,
int y,
int width,
int height)
使用当前颜色填充外接指定矩形框的椭圆。
参数:
x - 要填充椭圆的左上角的 x 坐标。
y - 要填充椭圆的左上角的 y 坐标。
width - 要填充椭圆的宽度。
height - 要填充椭圆的高度。
你把width,height 设置为相差1 不就是点了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询