From 0ab7ff07fd29ac32be045d505ae2d2b9290647a7 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期一, 01 七月 2024 15:32:51 +0800
Subject: [PATCH] 涂色提组件优化

---
 src/components/graffiti/index.vue |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/components/graffiti/index.vue b/src/components/graffiti/index.vue
index 0b0b54a..a14524d 100644
--- a/src/components/graffiti/index.vue
+++ b/src/components/graffiti/index.vue
@@ -13,7 +13,7 @@
         >
       </div>
     </div>
-    <div class="footer">
+    <div class="footer" :style="{backgroundColor:bcColor}">
       <BrushSize :size="brushSize" @change-size="onChangeSize"  @change-color="onChangeColor" />
       <ToolBtns :tool="brushTool" @change-tool="onChangeTool" />
     </div>
@@ -38,6 +38,10 @@
     },
     imgHeight:{
       type:Number
+    },
+    bcColor:{
+      type:String,
+      default:'#fff'
     }
   },
   data() {
@@ -59,12 +63,14 @@
   },
   mounted() {
     this.backgroundImage = this.bcImg
-    this.canvas = document.getElementById("canvas");
+    this.canvas = (this.container ? this.container : document).getElementById("canvas");
     if (this.canvas.getContext) {
       this.context = this.canvas.getContext("2d", { willReadFrequently: true });
       this.initCanvas();
       // window.addEventListener('resize', updateCanvasPosition);
-      window.addEventListener("scroll",this.updateCanvasOffset,true); // 娣诲姞婊氬姩鏉℃粴鍔ㄤ簨浠剁洃鍚櫒
+      (
+        this.container ? this.container : document
+      ).addEventListener("scroll",this.updateCanvasOffset,true); // 娣诲姞婊氬姩鏉℃粴鍔ㄤ簨浠剁洃鍚櫒
       this.getCanvasOffset();
       this.context.lineGap = "round";
       this.context.lineJoin = "round";
@@ -107,7 +113,9 @@
     initCanvas() {
       const that = this
       const resetCanvas = () => {
-        const elPanel = document.getElementById("canvas_panel");
+        const elPanel = (
+        this.container ? this.container : document
+      ).getElementById("canvas_panel");
         that.canvas.width = elPanel.clientWidth;
         that.canvas.height = elPanel.clientHeight;
         that.context = that.canvas.getContext("2d", {
@@ -234,7 +242,9 @@
     },
     // 淇濆瓨涓轰竴寮犲浘鐗囧苟涓嬭浇鐨勬柟娉�
     saveImgData() {
-      var link = document.createElement("a");
+      var link = (
+        this.container ? this.container : document
+      ).createElement("a");
       var imgData = this.canvas.toDataURL({format: 'png', quality:1, width:20000, height:4000});
       var strDataURI = imgData.substr(22, imgData.length);
       var blob = dataURLtoBlob(imgData);
@@ -269,7 +279,6 @@
     saveData(data) {
       this.historyData.length >= 50 && this.historyData.shift(); // 璁剧疆鍌ㄥ瓨涓婇檺涓�50姝�
       this.historyData.push(data);
-      console.log('鏁版嵁',this.historyData);
     },
     // 娓呴櫎銆佹挙閿�銆佷繚瀛樼姸鎬佷笉闇�瑕佷繚鎸侊紝鎿嶄綔瀹屽悗鎭㈠绗斿埛鐘舵��
     resetToolActive() {
@@ -297,7 +306,6 @@
   justify-content: space-around;
   align-items: center;
   height: 88px;
-  background-color: #fff;
 }
 
 #canvas_panel {

--
Gitblit v1.9.1