⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cline.java

📁 java的bresenham源代码
💻 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 + -