This commit is contained in:
X1627315083
2024-03-15 10:05:55 +08:00
parent b15d2e467f
commit 906372e787
2 changed files with 33 additions and 22 deletions

View File

@@ -191,7 +191,7 @@ import { useStore } from "vuex";
import JSZip, { forEach } from "jszip"; import JSZip, { forEach } from "jszip";
import { message, Modal } from "ant-design-vue"; import { message, Modal } from "ant-design-vue";
const FileSaver = require("file-saver"); const FileSaver = require("file-saver");
import { multiselectJS,JSRectUpdata,JSchangeType,JScanvasMouseDown,JScanvasMouseMove,JScreateCheck } from "@/tool/canvasDrawing"; import { getWHXY,JSRectUpdata,JSchangeType,JScanvasMouseDown,JScanvasMouseMove,JScreateCheck } from "@/tool/canvasDrawing";
export default defineComponent({ export default defineComponent({
components: { components: {
scaleImage, scaleImage,
@@ -1069,27 +1069,13 @@ export default defineComponent({
} }
} }
} }
let setHDExport = ()=>{ let setHDExport = ()=>{//获取选中内容的位置信息
var activeObjects = canvas.getActiveObjects(); var activeObjects = canvas.getActiveObjects();
var group = new fabric.Group(activeObjects, { let wHXY = getWHXY(activeObjects)
// 组的属性设置 var canvasOffset = canvas._offset
}); console.log(canvasOffset);
console.log(wHXY.width,wHXY.height,wHXY.x,wHXY.y);
// 创建一个新的 Canvas console.log(activeObjects);
var exportCanvas = new fabric.StaticCanvas(null, {
width: group.width,
height: group.height
});
// 将组添加到新的 Canvas 上
canvas.add(group);
// 导出 Canvas 为图像数据
var imageDataURL = exportCanvas.toDataURL({
format: 'png',
quality: 1
});
console.log(imageDataURL);
} }
onMounted(() => {}); onMounted(() => {});

View File

@@ -108,6 +108,31 @@ function JScanvasMouseDown(str,e, width,patterning) {//创建线
} }
return currentPatterning return currentPatterning
} }
function getWHXY(arr){
var minX = Number.MAX_SAFE_INTEGER;
var minY = Number.MAX_SAFE_INTEGER;
var maxX = Number.MIN_SAFE_INTEGER;
var maxY = Number.MIN_SAFE_INTEGER;
arr.forEach(function(object) {
var objectBoundingRect = object.getBoundingRect();
console.log(objectBoundingRect);
minX = Math.min(minX, objectBoundingRect.left);
minY = Math.min(minY, objectBoundingRect.top);
maxX = Math.max(maxX, objectBoundingRect.left + objectBoundingRect.width);
maxY = Math.max(maxY, objectBoundingRect.top + objectBoundingRect.height);
});
var width = maxX - minX;
var height = maxY - minY;
let wHXY = {
width:width,
height:height,
x:minX,
y:minY,
}
return wHXY
}
function JScreateCheck(e){//创建对号 function JScreateCheck(e){//创建对号
let downPoint = e.absolutePointer let downPoint = e.absolutePointer
@@ -206,4 +231,4 @@ function JSRectUpdata(rect, downPointer, upPointer) {
}) })
return rect return rect
} }
export { multiselectJS, JSRectUpdata, JSchangeType, JScanvasMouseDown, JScanvasMouseMove,JScreateCheck } export { multiselectJS, JSRectUpdata, JSchangeType, JScanvasMouseDown, JScanvasMouseMove,JScreateCheck,getWHXY }