张世豪
16 小时以前 6c9349bd065a99bf2066b6ae3f09691270720c9b
src/bianjie/shudongdraw.java
@@ -26,6 +26,7 @@
    
    // 颜色定义
    private static final Color MANUAL_BOUNDARY_COLOR = new Color(255, 0, 0); // 红色
    private static final Color MANUAL_BOUNDARY_LINE_COLOR = new Color(0, 100, 0); // 墨绿色
    private static final Color MANUAL_BOUNDARY_FILL_COLOR = new Color(255, 0, 0, 50); // 半透明红色填充
    private static final Color MOUSE_POSITION_COLOR = new Color(255, 0, 0, 128); // 半透明红色(鼠标位置)
    
@@ -126,7 +127,7 @@
        // 绘制边界线(至少需要2个点)
        if (points.size() >= 2) {
            g2d.setStroke(new BasicStroke(strokeWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
            g2d.setColor(MANUAL_BOUNDARY_COLOR);
            g2d.setColor(MANUAL_BOUNDARY_LINE_COLOR);
            
            Path2D.Double borderPath = new Path2D.Double();
            borderPath.moveTo(points.get(0).x, points.get(0).y);
@@ -144,7 +145,7 @@
        // 即使只有一个点也要绘制
        if (points.size() >= 1) {
            // 将线条宽度转换为世界坐标的直径,直径是线条宽度的2倍
            double pointDiameter = (strokeWidth * 2) / scale;
            double pointDiameter = strokeWidth * 2;
            g2d.setColor(MANUAL_BOUNDARY_COLOR);
            for (Point2D.Double point : points) {
                Ellipse2D.Double marker = new Ellipse2D.Double(
@@ -182,7 +183,7 @@
        // 计算线条宽度
        float strokeWidth = (float) (3 / Math.max(0.5, scale));
        // 鼠标位置圆圈直径是线条宽度的2倍
        double mouseCircleDiameter = (strokeWidth * 2) / scale;
        double mouseCircleDiameter = strokeWidth * 2;
        
        // 绘制鼠标位置的圆圈(使用半透明颜色)
        g2d.setColor(MOUSE_POSITION_COLOR);