From b518f895dec5264fd25e22a68300c40ceba6f43d Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 20 十二月 2025 15:30:20 +0800
Subject: [PATCH] 新增了按钮功能
---
src/zhuye/pointandnumber.java | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/zhuye/pointandnumber.java b/src/zhuye/pointandnumber.java
index fb95ad8..582aca5 100644
--- a/src/zhuye/pointandnumber.java
+++ b/src/zhuye/pointandnumber.java
@@ -20,7 +20,8 @@
List<Point2D.Double> boundary, // 杈圭晫鐐归泦鍚�
double scale, // 缂╂斁姣斾緥
double mergeThreshold, // 鍚堝苟闃堝��
- Color pointColor) { // 鐐归鑹�
+ Color pointColor, // 鐐归鑹�
+ double diameterScale) { // 鐩村緞缂╂斁鍥犲瓙
if (boundary == null || boundary.size() < 2) { // 鍒ゆ柇鏁版嵁鏄惁鏈夋晥
return; // 鏃犳晥鐩存帴杩斿洖
}
@@ -32,8 +33,15 @@
return; // 鏃犳晥杩斿洖
}
- double scaleFactor = Math.max(0.5, scale); // 闃叉杩囧皬缂╂斁
- double markerDiameter = Math.max(1.0, (10.0 / scaleFactor) * 0.2); // 鎻忕偣鐩村緞
+ double scaleFactor = Math.max(0.5, scale); // 闃叉杩囧皬缂╂斁
+ // 杈圭晫绾垮搴︼細3 / Math.max(0.5, scale)
+ // 杈圭晫鐐圭洿寰� = 杈圭晫绾垮搴︾殑2鍊�
+ double boundaryLineWidth = 3.0 / scaleFactor; // 杈圭晫绾垮搴�
+ double markerDiameter = boundaryLineWidth * 2.0; // 鎻忕偣鐩村緞锛堣竟鐣岀嚎瀹藉害鐨�2鍊嶏級
+ // 搴旂敤鐩村緞缂╂斁鍥犲瓙
+ if (diameterScale > 0.0 && Double.isFinite(diameterScale)) {
+ markerDiameter *= diameterScale;
+ }
double markerRadius = markerDiameter / 2.0; // 鍗婂緞
for (int i = 0; i < effectiveCount; i++) { // 閬嶅巻鏈夋晥鐐�
--
Gitblit v1.10.0