为什么java 的Graphics类中没有画点函数?
答案:7 悬赏:10 手机版
解决时间 2021-03-22 06:26
- 提问者网友:棒棒糖
- 2021-03-22 01:16
为什么java 的Graphics类中没有画点函数?
最佳答案
- 五星知识达人网友:迟山
- 2021-03-22 02:21
数学上的点是没有实体的,也就是无限小的一个概念,
现实的点实际上是用圆来表示点.
就像直线是没有宽度一样,没有宽度的直线相交,得到的点既没有长度,也没有宽度.
为了在显示器上表示这样的点有两种方案.
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个像素点,而且,计算机还要用π计算
除此之外,画点的其他方法我还在寻找中.
全部回答
- 1楼网友:一秋
- 2021-03-22 06:36
官方api中说道:可以用画圆来代替画点
- 2楼网友:怀裏藏嬌
- 2021-03-22 05:59
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 不就是点了
- 3楼网友:思契十里
- 2021-03-22 05:09
可以用画圆 让半径小点 就可以变成点 (个人想法)
- 4楼网友:深街酒徒
- 2021-03-22 04:15
首先,点动成线,也就是如果把一条线花短一点就可以类似一个点。
其次,点的大小问题,就像windows自带的画图一样,点的大小是可以改变的,很灵活,用代码写很麻烦。
在其次,Graphics虽说没有点,但是你画一个实心的圆就是点了
g.fillOval( x, y, width, height);...
最后,点是特别特殊的,因为是实心的,画大点就是一个小圆,画小点又不好看,所以干脆就不提供画点的方法了。
其次,点的大小问题,就像windows自带的画图一样,点的大小是可以改变的,很灵活,用代码写很麻烦。
在其次,Graphics虽说没有点,但是你画一个实心的圆就是点了
g.fillOval( x, y, width, height);...
最后,点是特别特殊的,因为是实心的,画大点就是一个小圆,画小点又不好看,所以干脆就不提供画点的方法了。
- 5楼网友:患得患失的劫
- 2021-03-22 03:43
因为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);
}
这样画出来的是一个很小的长方形,看上去就像点一样。
- 6楼网友:归鹤鸣
- 2021-03-22 02:46
首先,点动成线,也就是如果把一条线花短一点就可以类似一个点。
其次,点的大小问题,就像windows自带的画图一样,点的大小是可以改变的,很灵活,用代码写很麻烦。
在其次,Graphics虽说没有点,但是你画一个实心的圆就是点了
g.fillOval( x, y, width, height);...
最后,点是特别特殊的,因为是实心的,画大点就是一个小圆,画小点又不好看,所以干脆就不提供画点的方法了。
其次,点的大小问题,就像windows自带的画图一样,点的大小是可以改变的,很灵活,用代码写很麻烦。
在其次,Graphics虽说没有点,但是你画一个实心的圆就是点了
g.fillOval( x, y, width, height);...
最后,点是特别特殊的,因为是实心的,画大点就是一个小圆,画小点又不好看,所以干脆就不提供画点的方法了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯