From 7576405d2b4653b460ff0eed68f4c89340be5450 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期二, 27 八月 2024 11:46:22 +0800
Subject: [PATCH] 优化人像裁剪
---
src/views/home/index.vue | 34 +++++++++++++++++++++++-----------
1 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 5edebf7..d1e2b29 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -218,9 +218,10 @@
<div style="height: 18%;">
<el-row>
<el-col :span="6" style="padding-left: 40px; font-size: 34px; color: #FFFFFF;">
- {{formatDate(new Date(),'HH:MM')}}
+ {{date.substring(11,16)}}
<br>
- {{formatDate(new Date(),'YYYY-mm-dd')}}
+ <!-- {{formatDate(new Date(),'YYYY-mm-dd')}} -->
+ {{date.substring(0,11)}}
</el-col>
<el-col :span="12" style="font-size: 40px;color: #FFFFFF;text-align: center; padding-top: 20px;">
请将脸部对准摄像头
@@ -282,11 +283,14 @@
import{initPort as taiHengM523 } from '@/samples/deviceApi/taiHengM523'
import{initPort as XK3190A12 } from '@/samples/deviceApi/XK3190A12'
import {initPort as mbp7000} from '@/samples/deviceApi/mbp7000'
+import {initPort as mbp7000qy} from '@/samples/deviceApi/mbp7000qy'
+
import {initPort as mbp9020} from '@/samples/deviceApi/mbp-9020'
import {initPort as rbp9000c} from '@/samples/deviceApi/RBP-9000c'
import {initPort as M503} from '@/samples/deviceApi/M503'
import {initPort as seca102} from '@/samples/deviceApi/seca102'
+import {initPort as liangjiang} from '@/samples/deviceApi/liangjiang'
// 引入模块
import config from '../../../package.json'
import { Delete, Download, Plus, ZoomIn } from '@element-plus/icons-vue'
@@ -361,7 +365,6 @@
}
})
-
const configData=computed(()=>{
return confingInfoStore().confingInfo
})
@@ -944,7 +947,7 @@
}
const updateChengxu=()=>{
console.log('检查更新')
- if(configData.value.isLanFace){
+ if(configData.value.isLanFace===true){
console.log('是内网不能检查更新')
}else{
ipcRenderer.invoke("check-update");
@@ -971,10 +974,15 @@
TM2655VP(configData.value.xueyanjiPortPath,configData.value.xueyanjiBaudRate)
}else if(configData.value.xyj_type==='mbp7000'){
mbp7000(configData.value.xueyanjiPortPath,configData.value.xueyanjiBaudRate)
+ }else if(configData.value.xyj_type==='mbp7000qy'){
+ mbp7000qy(configData.value.xueyanjiPortPath,configData.value.xueyanjiBaudRate)
}else if(configData.value.xyj_type==='mbp9020'){
mbp9020(configData.value.xueyanjiPortPath,configData.value.xueyanjiBaudRate)
- }
+ }
else if(configData.value.xyj_type==='RBP-9000c'){
+ rbp9000c(configData.value.xueyanjiPortPath,configData.value.xueyanjiBaudRate)
+ // 鱼跃血压计
+ }else if(configData.value.xyj_type==='yuyue'){
rbp9000c(configData.value.xueyanjiPortPath,configData.value.xueyanjiBaudRate)
}
else{
@@ -1001,6 +1009,8 @@
XK3190A12(configData.value.tzcPortPath,configData.value.tzcBaudRate)
}else if(configData.value.tzc_type==='zhiRongHehui'){
zhiRongHehui(configData.value.tzcPortPath,configData.value.tzcBaudRate)
+ }else if(configData.value.tzc_type==='lianjiang'){
+ liangjiang(configData.value.tzcPortPath,1200)
}
else{
zhiRongT605(configData.value.tzcPortPath,configData.value.tzcBaudRate)
@@ -1089,9 +1099,9 @@
const resizedResult = resizeResults(result, dims)
const box = resizedResult.box
// 不要小头像
- console.log('000')
+ // console.log('000')
const h=configData.value.imgHeight===undefined?140:configData.value.imgHeight
- console.log('000',h)
+ // console.log('000',h)
if(box._height<h) return detectFace()
//检测框是否在取景框内
// if (!checkInViewFinder(box)) return detectFace()
@@ -1110,15 +1120,14 @@
)
if (!image) {
drawBox(box, '识别失败')
+ // 开启识别
video.value.play()
return detectFace()
}
const X= jgTime(lsDateTime,new Date())
- console.log('----',X,dialogVisible.value)
- // console.log(image)
if(dialogVisible.value&&X>configData.value.face_push&&isworkTime(new Date())){
lsDateTime=new Date()
- console.log(X,'上传图片间隔')
+ // console.log(X,'上传图片间隔')
base64toFile(image)
}
return detectFace()
@@ -1155,8 +1164,11 @@
const canvas = document.createElement('canvas')
canvas.width = video.videoWidth
canvas.height = video.videoHeight
- canvas.getContext('2d')?.drawImage(video, 0, 0, canvas.width, canvas.height)
+ // 参数:图片,裁剪开始x坐标,裁剪开始y坐标,裁剪宽度,裁剪高度,目标x坐标,目标y坐标,目标宽度,目标高度
+ // context.drawImage(image, 100, 100, 200, 200, 0, 0, 200, 200);
+ canvas.getContext('2d')?.drawImage(video, startPoint.x-10,startPoint.y-10,width+20,height+20,0,0,width+10,height+10)
const imgSrc = canvas?.toDataURL('image/png');
+
return imgSrc
}
// 画盒子
--
Gitblit v1.8.0