画布裁剪功能改为自选
This commit is contained in:
@@ -687,32 +687,46 @@ export default defineComponent({
|
|||||||
lockRotation: true,
|
lockRotation: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
let setExportCanvas = ()=>{
|
let setExportCanvas = async ()=>{
|
||||||
var objects = canvas.getObjects();
|
await calculateHeight()
|
||||||
var maxHeight = 0;
|
canvas.setDimensions({ height: canvasWH.value.height });
|
||||||
|
|
||||||
// 计算所有对象的最大高度
|
|
||||||
objects.forEach(function(obj) {
|
|
||||||
var objBottom = obj.top + obj.height*obj.scaleY;
|
|
||||||
if (objBottom > maxHeight) {
|
|
||||||
maxHeight = objBottom;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
canvasWH.height = maxHeight+30
|
|
||||||
// 调整 Canvas 的高度
|
|
||||||
canvas.setDimensions({ height: canvasWH.height });
|
|
||||||
|
|
||||||
// 重新渲染 Canvas
|
|
||||||
canvas.renderAll();
|
canvas.renderAll();
|
||||||
return canvas.toDataURL({
|
return canvas.toDataURL({
|
||||||
format: "png", // 导出格式为 PNG
|
format: "png", // 导出格式为 PNG
|
||||||
quality: 1, // 图片质量为 1(最高质量)
|
quality: 1, // 图片质量为 1(最高质量)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
let calculateHeight = ()=>{
|
||||||
|
return new Promise((resolve, reject) =>{
|
||||||
|
var objects = canvas.getObjects();
|
||||||
|
var maxHeight = 0;
|
||||||
|
Modal.confirm({
|
||||||
|
title: useI18.t('exportModel.jsContent8'),
|
||||||
|
okText: 'Yes',
|
||||||
|
cancelText: 'No',
|
||||||
|
mask:false,
|
||||||
|
centered:true,
|
||||||
|
onOk() {
|
||||||
|
objects.forEach(function(obj) {
|
||||||
|
var objBottom = obj.top + obj.height*obj.scaleY;
|
||||||
|
if (objBottom > maxHeight) {
|
||||||
|
maxHeight = objBottom;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
canvasWH.value.height = Math.round(maxHeight)+30
|
||||||
|
|
||||||
|
resolve(canvasWH.value.height)
|
||||||
|
},
|
||||||
|
onCancel(){
|
||||||
|
resolve(canvasWH.value.height)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}
|
||||||
//设置导出
|
//设置导出
|
||||||
let setExport = async () => {
|
let setExport = async () => {
|
||||||
initAligningGuidelines(canvas,false)
|
initAligningGuidelines(canvas,false)
|
||||||
var imageDataURL = setExportCanvas()
|
var imageDataURL = await setExportCanvas()
|
||||||
let a = document.createElement("a");
|
let a = document.createElement("a");
|
||||||
let img = [];
|
let img = [];
|
||||||
let index = 0;
|
let index = 0;
|
||||||
@@ -1829,11 +1843,11 @@ export default defineComponent({
|
|||||||
let toSvg = ()=>{
|
let toSvg = ()=>{
|
||||||
// console.log(canvas.toSvg());
|
// console.log(canvas.toSvg());
|
||||||
}
|
}
|
||||||
let setShare = ()=>{
|
let setShare = async ()=>{
|
||||||
initAligningGuidelines(canvas,false)
|
initAligningGuidelines(canvas,false)
|
||||||
let publishModal = publish.value
|
let publishModal = publish.value
|
||||||
publishModal.publishMask = true
|
publishModal.publishMask = true
|
||||||
var imageDataURL = setExportCanvas()
|
var imageDataURL = await setExportCanvas()
|
||||||
let data = {
|
let data = {
|
||||||
"imgUrl":imageDataURL,
|
"imgUrl":imageDataURL,
|
||||||
userlikeGroupId:userlikeGroupId,
|
userlikeGroupId:userlikeGroupId,
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ export default {
|
|||||||
jsContent5:'您选择的第{str}张图像在超分辨率增强后的分辨率超过2048。请选择较低的放大倍数。',
|
jsContent5:'您选择的第{str}张图像在超分辨率增强后的分辨率超过2048。请选择较低的放大倍数。',
|
||||||
jsContent6:'请选择需要超分的图片',
|
jsContent6:'请选择需要超分的图片',
|
||||||
jsContent7:'保存成功~',
|
jsContent7:'保存成功~',
|
||||||
|
jsContent8:'是否需要自动裁剪画布多余空间',
|
||||||
},
|
},
|
||||||
upgradePlan:{
|
upgradePlan:{
|
||||||
BuyCredlts:'购买积分',
|
BuyCredlts:'购买积分',
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ export default {
|
|||||||
jsContent5:'After super-resolution enhancement, the {str} th image you selected has a resolution exceeding 2048, Please choose a lower magnification level.',
|
jsContent5:'After super-resolution enhancement, the {str} th image you selected has a resolution exceeding 2048, Please choose a lower magnification level.',
|
||||||
jsContent6:'Please select the picture that requires upscale',
|
jsContent6:'Please select the picture that requires upscale',
|
||||||
jsContent7:'save successfully',
|
jsContent7:'save successfully',
|
||||||
|
jsContent8:'Whether you need to automatically crop your canvas excess space',
|
||||||
},
|
},
|
||||||
upgradePlan:{
|
upgradePlan:{
|
||||||
BuyCredlts:'Buy credits',
|
BuyCredlts:'Buy credits',
|
||||||
|
|||||||
Reference in New Issue
Block a user