fix
This commit is contained in:
@@ -178,7 +178,7 @@
|
||||
|
||||
<label class="uploadImage">
|
||||
<i class="fi fi-br-upload" ></i>
|
||||
<input type="file" @change="uploadImage">
|
||||
<input type="file" @change="uploadImage" accept="image/*">
|
||||
</label>
|
||||
<i class="icon iconfont" @click="setOperation('text')" :class="{active:operation == 'text'}">T</i>
|
||||
<i class="icon iconfont icon-IC-yehua" @click="setLiquefaction()"></i>
|
||||
@@ -302,7 +302,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {defineComponent, computed, h, ref, nextTick, inject, reactive, onMounted,
|
||||
import {defineComponent, computed, h, ref, nextTick, inject, reactive, onMounted,onBeforeUnmount
|
||||
} from "vue";
|
||||
import { Https } from "@/tool/https";
|
||||
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
|
||||
@@ -734,6 +734,7 @@ export default defineComponent({
|
||||
imgUrl = data.designOutfitUrl;
|
||||
imgWidth[key] = setImageWidth(key,img);
|
||||
}
|
||||
if(key == 'upImgFiles')imgWidth[key] = setImageWidth(key,img);
|
||||
|
||||
let url = imgUrl.split('?')[0]
|
||||
var match = url.match(/:(\d+)\/(.*)/);
|
||||
@@ -1197,8 +1198,10 @@ export default defineComponent({
|
||||
// let brushwork = ref('')
|
||||
// 监听键盘的 keydown 和 keyup 事件
|
||||
let keyDown = []
|
||||
let oldOperation = ''
|
||||
let canvasKeyDown = (event) => {
|
||||
if(keyDown.indexOf(event.key)>-1){
|
||||
event.preventDefault();
|
||||
if(keyDown.indexOf(event.code)>-1){
|
||||
}else{
|
||||
keyDown.push(event.code)
|
||||
if(event.key === 'Enter' && operation.value == 'fold'){
|
||||
@@ -1213,13 +1216,54 @@ export default defineComponent({
|
||||
copy()
|
||||
}else if(keyDown.indexOf('ControlLeft') > -1 && keyDown.indexOf('KeyV') > -1){
|
||||
paste()
|
||||
}else if(keyDown.indexOf('BracketLeft') > -1){
|
||||
let width = canvasPencilWidth.value[operation.value]
|
||||
console.log(width);
|
||||
canvasPencilWidth.value[operation.value] = (width - 5) < 3?3:(width - 5)
|
||||
console.log(canvasPencilWidth.value[operation.value]);
|
||||
setPencilWidth()
|
||||
}else if(keyDown.indexOf('BracketRight') > -1){
|
||||
let width = canvasPencilWidth.value[operation.value]
|
||||
canvasPencilWidth.value[operation.value] = (width + 5) > 50?50:(width + 5)
|
||||
setPencilWidth()
|
||||
}else if(keyDown.indexOf('KeyI') > -1){
|
||||
getColor()//吸色
|
||||
}else if(keyDown.indexOf('ControlLeft') > -1 && keyDown.indexOf('KeyD') > -1){
|
||||
canvas.discardActiveObject().renderAll();
|
||||
}else if(keyDown.indexOf('ControlLeft') > -1 && keyDown.indexOf('KeyO') > -1){
|
||||
let input = document.querySelector('.uploadImage input')
|
||||
input.click()
|
||||
}else if(keyDown.indexOf('Backquote') > -1){
|
||||
if(operation.value == 'pencil' || operation.value == 'texture'){
|
||||
oldOperation = operation.value
|
||||
setOperation('eraser')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
let getColor = async ()=>{
|
||||
try {
|
||||
const dropper = new EyeDropper();
|
||||
const result = await dropper.open();
|
||||
let hex = result.sRGBHex.replace("#", "");
|
||||
// 将十六进制颜色码拆分成红、绿、蓝三个部分
|
||||
// const r = parseInt(hex.substring(0, 2), 16);
|
||||
// const g = parseInt(hex.substring(2, 4), 16);
|
||||
// const b = parseInt(hex.substring(4, 6), 16);
|
||||
canvasPencilColor.value = result.sRGBHex;
|
||||
setPencilColor()
|
||||
} catch (e) {
|
||||
message.info(this.t('ColorboardUpload.jsContent1'))
|
||||
}
|
||||
}
|
||||
let canvasKeyUp = (event) =>{
|
||||
keyDown = keyDown.filter(function(item) {
|
||||
return event.code !== item;
|
||||
})
|
||||
if(event.code == 'Backquote' && oldOperation){
|
||||
setOperation(oldOperation)
|
||||
oldOperation = ''
|
||||
}
|
||||
}
|
||||
let setCanvasKeyDown = (event)=>{
|
||||
// let e = event || window.event
|
||||
@@ -1378,6 +1422,7 @@ export default defineComponent({
|
||||
Https.axiosPost(Https.httpUrls.canvasElementUpload, formData,config).then((rv)=>{
|
||||
rv.imgUrl = rv.minioUrl
|
||||
fabric.Image.fromURL(rv.minioUrl,(img) => {
|
||||
console.log(canvas.wrapperEl.parentNode.scrollTop);
|
||||
setCanvasImage(img,"upImgFiles",0,canvas.wrapperEl.parentNode.scrollTop,rv)
|
||||
canvas.add(img);
|
||||
},{ crossOrigin: "Anonymous" })
|
||||
@@ -1570,6 +1615,7 @@ export default defineComponent({
|
||||
setFontFamily()
|
||||
return
|
||||
}
|
||||
console.log(canvasPencilColor.value);
|
||||
// brushIndicator.fill = canvasPencilColor.value;
|
||||
if(canvas.freeDrawingBrush.isEraser){
|
||||
}else{
|
||||
@@ -2061,6 +2107,10 @@ export default defineComponent({
|
||||
fontFamily.value = arr[0].value
|
||||
|
||||
});
|
||||
onBeforeUnmount(()=>{
|
||||
document.removeEventListener("keydown", setCanvasKeyDown);
|
||||
document.removeEventListener("keyup", clearCanvasKeyDown);
|
||||
})
|
||||
return {
|
||||
toSvg,
|
||||
t,
|
||||
|
||||
Reference in New Issue
Block a user