优化bug

This commit is contained in:
24kycj
2025-11-15 13:11:46 +08:00
parent 533739104e
commit 1d42f6b74b
8 changed files with 626 additions and 1075 deletions
+90 -5
View File
@@ -779,7 +779,8 @@
const remote = require('@electron/remote')
var path = require('path');
const exePath = !remote.app.isPackaged ? process.cwd() : path.dirname(process.execPath)
// 使用用户数据目录,避免写入需要管理员权限
const exePath = remote.app.getPath('userData')
const { ipcRenderer } = require('electron')
const { dialog } = require('@electron/remote')
var jrQrcode = require('jr-qrcode');
@@ -2234,6 +2235,24 @@
});
}
*/
op.frontData.push({
"type" : 2,
"Text" : item.get("text"),
"FontFamily" : item.get("fontFamily"),
"FontSize" : parseInt(item.get("fontSize")),
"FontColor" : "#000000",
"FontBackgroudColor" : item.get("textBackgroundColor"),
"Bold" : item.get("fontWeight") == "bold",
"Underline" : item.get("underline"),
"Italic" : item.get("fontStyle") == "italic",
"Strikeout" : item.get("linethrough"),
"x" : parseInt((item.get("left") - background_image1.left).toFixed(0)),
"y" : parseInt((item.get("top") - background_image1.top).toFixed(0)),
"h" : parseInt((item.get("scaleY") * item.get("height")).toFixed(0)),
"w" : parseInt((item.get("scaleX") * item.get("width")).toFixed(0)),
"rotate" : parseInt(item.get("angle").toFixed(0)),
"circleCenter" : objs1[idx - 1].circleCenter
});
} else if (type == 4) {
//out_text
let xy = getAbsoluteXY(item);
@@ -2375,6 +2394,24 @@
});
}
*/
op.frontData.push({
"type" : 2,
"Text" : item.get("text"),
"FontFamily" : item.get("fontFamily"),
"FontSize" : parseInt(item.get("fontSize")),
"FontColor" : "#000000",
"FontBackgroudColor" : item.get("textBackgroundColor"),
"Bold" : item.get("fontWeight") == "bold",
"Underline" : item.get("underline"),
"Italic" : item.get("fontStyle") == "italic",
"Strikeout" : item.get("linethrough"),
"x" : parseInt((item.get("left") - background_image1.left).toFixed(0)),
"y" : parseInt((item.get("top") - background_image1.top).toFixed(0)),
"h" : parseInt((item.get("scaleY") * item.get("height")).toFixed(0)),
"w" : parseInt((item.get("scaleX") * item.get("width")).toFixed(0)),
"rotate" : parseInt(item.get("angle").toFixed(0)),
"circleCenter" : objs2[idx - 1].circleCenter
});
} else if (type == 4) {
let xy = getAbsoluteXY(item);
op.backData.push({
@@ -2834,6 +2871,24 @@
});
}
*/
op.frontData.push({
"type" : 2,
"Text" : item.get("text"),
"FontFamily" : item.get("fontFamily"),
"FontSize" : parseInt(item.get("fontSize")),
"FontColor" : "#000000",
"FontBackgroudColor" : item.get("textBackgroundColor"),
"Bold" : item.get("fontWeight") == "bold",
"Underline" : item.get("underline"),
"Italic" : item.get("fontStyle") == "italic",
"Strikeout" : item.get("linethrough"),
"x" : parseInt((item.get("left") - background_image1.left).toFixed(0)),
"y" : parseInt((item.get("top") - background_image1.top).toFixed(0)),
"h" : parseInt((item.get("scaleY") * item.get("height")).toFixed(0)),
"w" : parseInt((item.get("scaleX") * item.get("width")).toFixed(0)),
"rotate" : parseInt(item.get("angle").toFixed(0)),
"circleCenter" : objs1[idx - 1].circleCenter
});
} else if (type == 4) {
//out_text
let xy = getAbsoluteXY(item);
@@ -2975,6 +3030,24 @@
});
}
*/
op.frontData.push({
"type" : 2,
"Text" : item.get("text"),
"FontFamily" : item.get("fontFamily"),
"FontSize" : parseInt(item.get("fontSize")),
"FontColor" : "#000000",
"FontBackgroudColor" : item.get("textBackgroundColor"),
"Bold" : item.get("fontWeight") == "bold",
"Underline" : item.get("underline"),
"Italic" : item.get("fontStyle") == "italic",
"Strikeout" : item.get("linethrough"),
"x" : parseInt((item.get("left") - background_image1.left).toFixed(0)),
"y" : parseInt((item.get("top") - background_image1.top).toFixed(0)),
"h" : parseInt((item.get("scaleY") * item.get("height")).toFixed(0)),
"w" : parseInt((item.get("scaleX") * item.get("width")).toFixed(0)),
"rotate" : parseInt(item.get("angle").toFixed(0)),
"circleCenter" : objs2[idx - 1].circleCenter
});
} else if (type == 4) {
let xy = getAbsoluteXY(item);
op.backData.push({
@@ -5029,12 +5102,13 @@
recordState();
}
function selectCircleText() {
let idx = getIndex(canvas.getActiveObject());
$("#circle_text_control").show();
$("#circle_text_color").val(canvas.getActiveObject().get("fill"));
$("#circle_text_back_color").val(canvas.getActiveObject().get("textBackgroundColor") == "" ? '#ffffff' : canvas.getActiveObject().get("textBackgroundColor"));
circle_text_size.setValue(canvas.getActiveObject().get("fontSize") - 10);
circle_text_diameter.setValue(canvas.getActiveObject().get("diameter")-500);
// $("#circle_text_center").prop("checked", true);
$("#circle_text_center").prop("checked", objs[idx - 1].circleCenter ? 'checked' : '');
$("#circle_text_text").val(canvas.getActiveObject().get("text"));
$("#circle_text_font_family").val(canvas.getActiveObject().get("fontFamily"));
@@ -6042,6 +6116,15 @@
}
recordState();
});
$("#circle_text_center").click(function () {
let idx = getIndex(canvas.getActiveObject());
if ($(this).prop("checked")) {
objs[idx - 1].circleCenter = 1;
} else {
objs[idx - 1].circleCenter = 0;
}
recordState();
});
$("#delete").click(function () {
let actObjs = canvas.getActiveObjects();
let allObjs = canvas.getObjects();
@@ -6219,7 +6302,9 @@
});
canvas1.on("object:moving", function (e) {
let obj = canvas.getActiveObject()
if (objs[getIndex(e.target) - 1].type && objs[getIndex(e.target) - 1].type ===11&&$("#circle_text_center").prop("checked")) {
let idx = getIndex(e.target);
// 添加边界检查,避免访问 undefined
if (idx > 0 && idx <= objs.length && objs[idx - 1] && objs[idx - 1].type && objs[idx - 1].type === 11 && $("#circle_text_center").prop("checked")) {
let pointer = {
x: obj.left,
y: obj.top
@@ -6489,7 +6574,7 @@
event.target._clearCache();
// $("#out_text_size").val(event.target.fontSize);
canvas1.renderAll();
} else if (objs[getIndex(event.target) - 1].type == 10) {
} else if (getIndex(event.target) > 0 && getIndex(event.target) <= objs.length && objs[getIndex(event.target) - 1] && objs[getIndex(event.target) - 1].type == 10) {
event.target.fontSize *= event.target.scaleX;
event.target.fontSize = event.target.fontSize.toFixed(0);
event.target.scaleX = 1;
@@ -6497,7 +6582,7 @@
event.target._clearCache();
// $("#count_size").val(event.target.fontSize);
canvas1.renderAll();
} else if (objs[getIndex(event.target) - 1].type == 5) {
} else if (getIndex(event.target) > 0 && getIndex(event.target) <= objs.length && objs[getIndex(event.target) - 1] && objs[getIndex(event.target) - 1].type == 5) {
canvas1.getActiveObject().set("width", canvas1.getActiveObject().get("width") * canvas1.getActiveObject().get("scaleX"));
canvas1.getActiveObject().set("height", canvas1.getActiveObject().get("height") * canvas1.getActiveObject().get("scaleY"));
canvas1.getActiveObject().set("scaleX", 1);