|
@@ -341,12 +341,25 @@ export class CanvasPhotoEditor {
|
|
|
const PhotoIndex = this.getPhotoPositionInPage(e)
|
|
const PhotoIndex = this.getPhotoPositionInPage(e)
|
|
|
console.log('indexingLineList', this.indexingLineList)
|
|
console.log('indexingLineList', this.indexingLineList)
|
|
|
let isLine = this.indexingLineList.findIndex(item => {
|
|
let isLine = this.indexingLineList.findIndex(item => {
|
|
|
- let points = item.points
|
|
|
|
|
- let points1 = points[0]
|
|
|
|
|
- let points2 = points[1]
|
|
|
|
|
- console.log('points', points)
|
|
|
|
|
- return this.isPointOnLine(mouseX, mouseY, points1.x, points1.y, points2.x, points2.y)
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ let points = item.points || [];
|
|
|
|
|
+
|
|
|
|
|
+ // 点数量不足2个,直接不匹配
|
|
|
|
|
+ if (points.length < 2) return false;
|
|
|
|
|
+
|
|
|
|
|
+ // 遍历所有相邻两点,判断鼠标是否在任意一段上
|
|
|
|
|
+ for (let i = 0; i < points.length - 1; i++) {
|
|
|
|
|
+ const p1 = points[i];
|
|
|
|
|
+ const p2 = points[i + 1];
|
|
|
|
|
+
|
|
|
|
|
+ // 只要有一段满足,就返回 true
|
|
|
|
|
+ if (this.isPointOnLine(mouseX, mouseY, p1.x, p1.y, p2.x, p2.y)) {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 所有线段都不满足
|
|
|
|
|
+ return false;
|
|
|
|
|
+ });
|
|
|
this.isLineDel = false
|
|
this.isLineDel = false
|
|
|
if (isLine != -1) {//选中已生成标引
|
|
if (isLine != -1) {//选中已生成标引
|
|
|
// 阻止事件冒泡和默认行为,避免鼠标事件持续触发
|
|
// 阻止事件冒泡和默认行为,避免鼠标事件持续触发
|