📄 cline.java
字号:
/**
* Created by IntelliJ IDEA.
* User: NIKY
* Date: 2004-10-13
* Time: 11:51:46
* To change this template use File | Settings | File Templates.
*/
import java.awt.*;
import java.applet.*;
public class line_CUI extends Applet
{
public static void bresenhamLine(Graphics g)
{
int dashedMask=1;
int lineWidth=1;
int x1=0;
int y1=0;
int x2=200;
int y2=200;
int x, y;
int dx, dy;
int incx, incy;
int balance;
int i=0;
if (x2 >= x1)
{
dx = x2 - x1;
incx = 1;
}
else
{
dx = x1 - x2;
incx = -1;
}
if (y2 >= y1)
{
dy = y2 - y1;
incy = 1;
}
else
{
dy = y1 - y2;
incy = -1;
}
x = x1;
y = y1;
if (dx >= dy)
{
dy <<= 1;
balance = dy - dx;
dx <<= 1;
while (x != x2)
{
if ( (i & dashedMask)==0 )
g.fillOval(x, y,lineWidth,lineWidth);
if (balance >= 0)
{
y += incy;
balance -= dx;
}
balance += dy;
x += incx;
i ++;
}
if ( (i & dashedMask)==0 )
g.fillOval(x, y,lineWidth,lineWidth);
}
else
{
dx <<= 1;
balance = dx - dy;
dy <<= 1;
while (y != y2)
{
if ( (i & dashedMask)==0 )
g.fillOval(x, y,lineWidth,lineWidth);
if (balance >= 0)
{
x += incx;
balance -= dy;
}
balance += dx;
y += incy;
i ++;
}
if ( (i & dashedMask)==0 )
g.fillOval(x, y,lineWidth,lineWidth);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -