新手帮助:画线
Beginner Help: Drawing Lines
我正在尝试在 java 代码的行中加入单词 'Hi'。这是一项任务。
当我画一条线时,我必须输入 4 个数字。每个数字实际上代表什么?有人可以用非常初学者的方式告诉我吗?
这是目前的代码:
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D) g;
g2d.drawString("Hello World!",100,100);
g2d.drawLine(80, 50, 80,150);
g2d.drawLine(160, 50, 160, 150);
g2d.drawLine(50, 80, 150, 80);
g2d.drawLine(200, 50, 200, 150);
}
正如您在documentation中看到的,参数的名称是:x1
、y1
、x2
和y2
。所以第一点和第二点的坐标。
Graphics
class 考虑大小为 width 和 height 的栅格 image/frame 你正在写信给。与数学图形的区别在于 y 轴向下移动,因此:
+---------------------------->
|0 x
|
|
| y
v
drawLine(int x1, int y1, int x2, int y2)
在点 (x1, y1)
和 (x2, y2)
之间画一条线。read oracle api here
更新....
似乎您与笛卡尔坐标系混淆了。
看一下xy坐标系。
左上代表0,0坐标。
想想如果你使用 g2d.drawLine(4, 2, 8,1);
将收到以下输出。没有必要 x1,y1 相同。
我正在尝试在 java 代码的行中加入单词 'Hi'。这是一项任务。
当我画一条线时,我必须输入 4 个数字。每个数字实际上代表什么?有人可以用非常初学者的方式告诉我吗?
这是目前的代码:
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D) g;
g2d.drawString("Hello World!",100,100);
g2d.drawLine(80, 50, 80,150);
g2d.drawLine(160, 50, 160, 150);
g2d.drawLine(50, 80, 150, 80);
g2d.drawLine(200, 50, 200, 150);
}
正如您在documentation中看到的,参数的名称是:x1
、y1
、x2
和y2
。所以第一点和第二点的坐标。
Graphics
class 考虑大小为 width 和 height 的栅格 image/frame 你正在写信给。与数学图形的区别在于 y 轴向下移动,因此:
+---------------------------->
|0 x
|
|
| y
v
drawLine(int x1, int y1, int x2, int y2)
在点 (x1, y1)
和 (x2, y2)
之间画一条线。read oracle api here
更新.... 似乎您与笛卡尔坐标系混淆了。 看一下xy坐标系。
左上代表0,0坐标。
想想如果你使用 g2d.drawLine(4, 2, 8,1);
将收到以下输出。没有必要 x1,y1 相同。