diff --git a/src/component/Detail/canvas/index.vue b/src/component/Detail/canvas/index.vue index 582cc949..e12f7884 100644 --- a/src/component/Detail/canvas/index.vue +++ b/src/component/Detail/canvas/index.vue @@ -13,6 +13,8 @@ :clothingImageUrl="selectDetail.path" :clothingImageUrl2="selectDetail.layersObject[0].maskUrl" showFixedLayer + :width="sketchWidth" + :height="sketchHeight" :canvasJSON="canvasJSON" @canvasLoadJsonSuccess="canvasLoadJsonSuccess" :clothing-image-opts="{ @@ -119,6 +121,8 @@ export default defineComponent({ printObject: store.state.DesignDetail.selectDetail.printObject, trims: store.state.DesignDetail.selectDetail.trims, })), + sketchWidth:0, + sketchHeight:0, }) watch(()=>detailData.selectDetail,(newValue,oldValue)=>{ detailData.imgDomIndex = detailData.frontBack.front.findIndex((item:any)=>item.id == newValue.id) @@ -342,6 +346,18 @@ export default defineComponent({ const submitBase64Data = ()=>{ return detailDom.generalMiniCanvas.submitBase64Data() } + const sketchSize:any = async ()=>{ + let img = new Image(); + img.src = detailData.selectDetail.path; + await new Promise((resolve, reject) => { + img.onload = () => { + detailData.sketchWidth = img.width + detailData.sketchHeight = img.height + resolve([img.width, img.height]); + } + img.onerror = reject; + }); + } onBeforeUnmount(()=>{ let front = detailData.frontBack.front[detailData.imgDomIndex] let back = detailData.frontBack.back[detailData.imgDomIndex] @@ -382,6 +398,7 @@ export default defineComponent({ }); }) } + await sketchSize() setCanvas(detailData.selectDetail.path).then(()=>{ detailData.canvasLoad = true })