From 240971952b84d0ecfcf28116a337205531d0f885 Mon Sep 17 00:00:00 2001
From: z8018 <1282578289@qq.com>
Date: 星期一, 09 六月 2025 14:15:43 +0800
Subject: [PATCH] 1
---
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/Properties/Resources.resx | 124 +++
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/FaceSdkX64Register.csproj | 53 +
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/FrmRegister.Designer.cs | 93 ++
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/MyOpaqueLayer.cs | 138 +++
project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json | 75
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/Properties/LoadingImg.gif | 0
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/Program.cs | 17
project/人脸识别插件/FaceSdkX64/FaceSdkX64Service/FaceSdkX64Service.csproj | 9
project/人脸识别插件/FaceSdkX64/FaceSdkX64Service/ConfigHelper.cs | 15
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db-wal | 0
project/人脸识别插件/FaceSdkX64/FaceSdkX64.sln | 77 +
project/人脸识别插件/FaceSdkX64/FaceSdkX64Service/TH_Faces.cs | 210 +++++
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.670.39694/SemanticSymbols.db | 0
project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.670.39694/SemanticSymbols.db | 0
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/OpaqueCommand.cs | 55 +
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/v17/DocumentLayout.json | 260 ++++++
project/人脸识别插件/FaceSdkX64/FaceSdkX64Service/HttpServer.cs | 86 ++
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db | 0
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/v17/ResourceExplorer/settings.json | 16
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db-wal | 0
project/人脸识别插件/FaceSdkX64/FaceSdkX64Service/CHS_Capture.cs | 49 +
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/v17/DocumentLayout.backup.json | 244 +++++
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/FrmRegister.cs | 501 ++++++++++++
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/App.config | 6
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/FrmRegister.resx | 129 +++
project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json | 188 ++--
project/人脸识别插件/FaceSdkX64/FaceSdkX64Register/Properties/Resources.Designer.cs | 73 +
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db | 0
project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/DownLoad/face-plugin.zip | 0
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db-shm | 0
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db-shm | 0
project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.670.39694/CodeChunks.db | 0
project/人脸识别插件/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.670.39694/CodeChunks.db | 0
33 files changed, 2,295 insertions(+), 123 deletions(-)
diff --git a/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.670.39694/CodeChunks.db b/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.670.39694/CodeChunks.db
index 567f6cd..756e2d6 100644
--- a/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.670.39694/CodeChunks.db
+++ b/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.670.39694/CodeChunks.db
Binary files differ
diff --git a/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.670.39694/SemanticSymbols.db b/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.670.39694/SemanticSymbols.db
index d12f45b..cbf34d6 100644
--- a/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.670.39694/SemanticSymbols.db
+++ b/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.670.39694/SemanticSymbols.db
Binary files differ
diff --git a/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json b/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
index 1c022c2..1a0421c 100644
--- a/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
+++ b/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
@@ -3,6 +3,10 @@
"WorkspaceRootPath": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\",
"Documents": [
{
+ "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\shensuogankongzhi\\project\\wcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+ "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ },
+ {
"AbsoluteMoniker": "D:0:0:{1B1C16CA-8989-4590-BAF6-B55DCC330218}|WIDESEAWCS_TelescopicService\\WIDESEAWCS_TelescopicService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\shensuogankongzhi\\project\\wcs\\wideseawcs_server\\wideseawcs_telescopicservice\\parametersservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1B1C16CA-8989-4590-BAF6-B55DCC330218}|WIDESEAWCS_TelescopicService\\WIDESEAWCS_TelescopicService.csproj|solutionrelative:wideseawcs_telescopicservice\\parametersservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
@@ -41,10 +45,6 @@
{
"AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\shensuogankongzhi\\project\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\telescopic\\dt_parameters.cs||{8B382828-6202-11D1-8870-0000F87579D2}",
"RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\telescopic\\dt_parameters.cs||{8B382828-6202-11D1-8870-0000F87579D2}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\shensuogankongzhi\\project\\wcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
- "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
},
{
"AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\shensuogankongzhi\\project\\wcs\\wideseawcs_server\\wideseawcs_tasks\\ssg\\alarmresetjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -338,23 +338,11 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 1,
+ "SelectedChildIndex": 6,
"Children": [
{
"$type": "Document",
- "DocumentIndex": 2,
- "Title": "MaintenanceService.cs",
- "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\MaintenanceService.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\MaintenanceService.cs",
- "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\MaintenanceService.cs",
- "RelativeToolTip": "WIDESEAWCS_TelescopicService\\MaintenanceService.cs",
- "ViewState": "AgIAABIAAAAAAAAAAAAAAA0AAAA8AAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-04-07T08:11:35.497Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 0,
+ "DocumentIndex": 1,
"Title": "ParametersService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\ParametersService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\ParametersService.cs",
@@ -367,7 +355,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 3,
+ "DocumentIndex": 4,
"Title": "MaintenanceTeamService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\MaintenanceTeamService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\MaintenanceTeamService.cs",
@@ -379,7 +367,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 5,
+ "DocumentIndex": 6,
"Title": "AlarmResetHsyServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\AlarmResetHsyServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\AlarmResetHsyServer.cs",
@@ -391,7 +379,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 1,
+ "DocumentIndex": 2,
"Title": "IParametersService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\IParametersService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\IParametersService.cs",
@@ -403,7 +391,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 4,
+ "DocumentIndex": 5,
"Title": "DepartmentService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\DepartmentService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\DepartmentService.cs",
@@ -415,7 +403,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 6,
+ "DocumentIndex": 7,
"Title": "Dt_UnitCategory.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\Telescopic\\Dt_UnitCategory.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\Telescopic\\Dt_UnitCategory.cs",
@@ -427,7 +415,32 @@
},
{
"$type": "Document",
- "DocumentIndex": 7,
+ "DocumentIndex": 0,
+ "Title": "appsettings.json",
+ "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
+ "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
+ "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+ "WhenOpened": "2025-06-03T09:07:10.755Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "MaintenanceService.cs",
+ "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\MaintenanceService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\MaintenanceService.cs",
+ "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\MaintenanceService.cs",
+ "RelativeToolTip": "WIDESEAWCS_TelescopicService\\MaintenanceService.cs",
+ "ViewState": "AgIAABIAAAAAAAAAAAAAAA0AAAA8AAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-04-07T08:11:35.497Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
"Title": "UnitCategoryServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\UnitCategoryServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\UnitCategoryServer.cs",
@@ -463,7 +476,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 8,
+ "DocumentIndex": 9,
"Title": "WIDESEAWCS_ITaskInfoService.csproj",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
"RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
@@ -488,18 +501,6 @@
{
"$type": "Document",
"DocumentIndex": 10,
- "Title": "appsettings.json",
- "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
- "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
- "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
- "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
- "ViewState": "AgIAABIAAAAAAAAAAADwvysAAAAAAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
- "WhenOpened": "2025-06-03T09:07:10.755Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 9,
"Title": "Dt_Parameters.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\Telescopic\\Dt_Parameters.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\Telescopic\\Dt_Parameters.cs",
diff --git a/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json b/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
index 1a0421c..505e93e 100644
--- a/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
+++ b/project/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
@@ -3,6 +3,10 @@
"WorkspaceRootPath": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\",
"Documents": [
{
+ "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\shensuogankongzhi\\project\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\system\\sys_userfacecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\system\\sys_userfacecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
"AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\shensuogankongzhi\\project\\wcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
"RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
},
@@ -338,11 +342,24 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 6,
+ "SelectedChildIndex": 0,
"Children": [
{
"$type": "Document",
- "DocumentIndex": 1,
+ "DocumentIndex": 0,
+ "Title": "Sys_UserFaceController.cs",
+ "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserFaceController.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserFaceController.cs",
+ "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserFaceController.cs",
+ "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserFaceController.cs",
+ "ViewState": "AgIAAC8AAAAAAAAAAAAgwAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-06-06T07:20:39.768Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
"Title": "ParametersService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\ParametersService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\ParametersService.cs",
@@ -350,12 +367,11 @@
"RelativeToolTip": "WIDESEAWCS_TelescopicService\\ParametersService.cs",
"ViewState": "AgIAALgAAAAAAAAAAAAqwM4AAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-05-19T09:19:36.589Z",
- "EditorCaption": ""
+ "WhenOpened": "2025-05-19T09:19:36.589Z"
},
{
"$type": "Document",
- "DocumentIndex": 4,
+ "DocumentIndex": 5,
"Title": "MaintenanceTeamService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\MaintenanceTeamService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\MaintenanceTeamService.cs",
@@ -367,7 +383,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 6,
+ "DocumentIndex": 7,
"Title": "AlarmResetHsyServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\AlarmResetHsyServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\AlarmResetHsyServer.cs",
@@ -379,7 +395,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 2,
+ "DocumentIndex": 3,
"Title": "IParametersService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\IParametersService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\IParametersService.cs",
@@ -391,7 +407,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 5,
+ "DocumentIndex": 6,
"Title": "DepartmentService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\DepartmentService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\DepartmentService.cs",
@@ -403,7 +419,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 7,
+ "DocumentIndex": 8,
"Title": "Dt_UnitCategory.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\Telescopic\\Dt_UnitCategory.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\Telescopic\\Dt_UnitCategory.cs",
@@ -415,7 +431,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 0,
+ "DocumentIndex": 1,
"Title": "appsettings.json",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
@@ -428,7 +444,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 3,
+ "DocumentIndex": 4,
"Title": "MaintenanceService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\MaintenanceService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\MaintenanceService.cs",
@@ -440,7 +456,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 8,
+ "DocumentIndex": 9,
"Title": "UnitCategoryServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\UnitCategoryServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\UnitCategoryServer.cs",
@@ -452,7 +468,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 11,
+ "DocumentIndex": 12,
"Title": "AlarmResetJob.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\SSG\\AlarmResetJob.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\SSG\\AlarmResetJob.cs",
@@ -464,7 +480,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 12,
+ "DocumentIndex": 13,
"Title": "ISys_RoleService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_RoleService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_RoleService.cs",
@@ -476,7 +492,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 9,
+ "DocumentIndex": 10,
"Title": "WIDESEAWCS_ITaskInfoService.csproj",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
"RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
@@ -488,7 +504,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 15,
+ "DocumentIndex": 16,
"Title": "IAuthorizationRecordServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\IAuthorizationRecordServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\IAuthorizationRecordServer.cs",
@@ -500,7 +516,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 10,
+ "DocumentIndex": 11,
"Title": "Dt_Parameters.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\Telescopic\\Dt_Parameters.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\Telescopic\\Dt_Parameters.cs",
@@ -512,7 +528,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 17,
+ "DocumentIndex": 18,
"Title": "IAlarmResetHsyServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\IAlarmResetHsyServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\IAlarmResetHsyServer.cs",
@@ -524,7 +540,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 13,
+ "DocumentIndex": 14,
"Title": "ISys_RoleAuthService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
@@ -536,7 +552,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 14,
+ "DocumentIndex": 15,
"Title": "IMaintenanceService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\IMaintenanceService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\IMaintenanceService.cs",
@@ -548,7 +564,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 16,
+ "DocumentIndex": 17,
"Title": "AuthorizationRecordServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\AuthorizationRecordServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\AuthorizationRecordServer.cs",
@@ -560,7 +576,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 18,
+ "DocumentIndex": 19,
"Title": "ISys_UserService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_UserService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_UserService.cs",
@@ -572,7 +588,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 19,
+ "DocumentIndex": 20,
"Title": "IUnitCategoryServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\IUnitCategoryServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\IUnitCategoryServer.cs",
@@ -584,7 +600,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 20,
+ "DocumentIndex": 21,
"Title": "ITeamCategoryServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\ITeamCategoryServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\ITeamCategoryServer.cs",
@@ -596,7 +612,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 21,
+ "DocumentIndex": 22,
"Title": "IMaintenanceTeamService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\IMaintenanceTeamService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\IMaintenanceTeamService.cs",
@@ -608,7 +624,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 22,
+ "DocumentIndex": 23,
"Title": "ILoginhsyService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\ILoginhsyService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\ILoginhsyService.cs",
@@ -620,7 +636,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 23,
+ "DocumentIndex": 24,
"Title": "IDepartmentService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\IDepartmentService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\IDepartmentService.cs",
@@ -632,7 +648,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 24,
+ "DocumentIndex": 25,
"Title": "IStockInfo_HtyService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IWMSPart\\IStockInfo_HtyService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_IWMSPart\\IStockInfo_HtyService.cs",
@@ -644,7 +660,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 26,
+ "DocumentIndex": 27,
"Title": "LocationInfoController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\WMSPart\\LocationInfoController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\WMSPart\\LocationInfoController.cs",
@@ -656,7 +672,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 27,
+ "DocumentIndex": 28,
"Title": "RouterController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\BasicInfo\\RouterController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\BasicInfo\\RouterController.cs",
@@ -668,7 +684,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 32,
+ "DocumentIndex": 33,
"Title": "Sys_UserService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
@@ -680,7 +696,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 31,
+ "DocumentIndex": 32,
"Title": "Sys_MenuService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_MenuService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_MenuService.cs",
@@ -692,7 +708,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 25,
+ "DocumentIndex": 26,
"Title": "IStockQuantityChangeRecordService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IWMSPart\\IStockQuantityChangeRecordService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_IWMSPart\\IStockQuantityChangeRecordService.cs",
@@ -704,7 +720,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 29,
+ "DocumentIndex": 30,
"Title": "FaceDraw.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\FaceAI\\FaceDraw.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Common\\FaceAI\\FaceDraw.cs",
@@ -716,7 +732,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 28,
+ "DocumentIndex": 29,
"Title": "MaintenanceController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Telescopic\\MaintenanceController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Telescopic\\MaintenanceController.cs",
@@ -728,7 +744,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 30,
+ "DocumentIndex": 31,
"Title": "LocationInfoService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_WMSPart\\LocationInfoService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_WMSPart\\LocationInfoService.cs",
@@ -740,7 +756,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 33,
+ "DocumentIndex": 34,
"Title": "LoginhsyService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\LoginhsyService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\LoginhsyService.cs",
@@ -752,7 +768,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 34,
+ "DocumentIndex": 35,
"Title": "TaskService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
@@ -764,7 +780,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 35,
+ "DocumentIndex": 36,
"Title": "anime.min.js",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\wwwroot\\js\\anime.min.js",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\wwwroot\\js\\anime.min.js",
@@ -776,7 +792,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 36,
+ "DocumentIndex": 37,
"Title": "AlarmResetHsyController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Telescopic\\AlarmResetHsyController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Telescopic\\AlarmResetHsyController.cs",
@@ -788,7 +804,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 38,
+ "DocumentIndex": 39,
"Title": "Dt_AlarmResetHsy.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\Telescopic\\Dt_AlarmResetHsy.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\Telescopic\\Dt_AlarmResetHsy.cs",
@@ -800,7 +816,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 37,
+ "DocumentIndex": 38,
"Title": "BatchController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\BatchController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\BatchController.cs",
@@ -812,7 +828,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 39,
+ "DocumentIndex": 40,
"Title": "Sys_UserController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
@@ -824,7 +840,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 40,
+ "DocumentIndex": 41,
"Title": "UnitCategoryController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Telescopic\\UnitCategoryController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Telescopic\\UnitCategoryController.cs",
@@ -836,7 +852,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 42,
+ "DocumentIndex": 43,
"Title": "Sys_TenantController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_TenantController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_TenantController.cs",
@@ -848,7 +864,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 41,
+ "DocumentIndex": 42,
"Title": "Sys_RoleController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_RoleController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_RoleController.cs",
@@ -860,7 +876,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 43,
+ "DocumentIndex": 44,
"Title": "Dt_Maintenance.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\Telescopic\\Dt_Maintenance.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\Telescopic\\Dt_Maintenance.cs",
@@ -872,7 +888,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 44,
+ "DocumentIndex": 45,
"Title": "Dt_TeamCategory.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\Telescopic\\Dt_TeamCategory.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\Telescopic\\Dt_TeamCategory.cs",
@@ -884,7 +900,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 45,
+ "DocumentIndex": 46,
"Title": "ParametersController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Telescopic\\ParametersController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Telescopic\\ParametersController.cs",
@@ -896,7 +912,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 46,
+ "DocumentIndex": 47,
"Title": "TeamCategoryController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Telescopic\\TeamCategoryController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Telescopic\\TeamCategoryController.cs",
@@ -908,7 +924,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 47,
+ "DocumentIndex": 48,
"Title": "MaintenanceTeamController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Telescopic\\MaintenanceTeamController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Telescopic\\MaintenanceTeamController.cs",
@@ -920,7 +936,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 48,
+ "DocumentIndex": 49,
"Title": "TeamCategoryServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\TeamCategoryServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\TeamCategoryServer.cs",
@@ -932,7 +948,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 49,
+ "DocumentIndex": 50,
"Title": "Sys_User.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Sys_User.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\Sys_User.cs",
@@ -944,7 +960,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 50,
+ "DocumentIndex": 51,
"Title": "Sys_DictionaryListController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryListController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryListController.cs",
@@ -956,7 +972,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 51,
+ "DocumentIndex": 52,
"Title": "Dt_AuthorizationRecord.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\Telescopic\\Dt_AuthorizationRecord.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\Telescopic\\Dt_AuthorizationRecord.cs",
@@ -968,7 +984,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 53,
+ "DocumentIndex": 54,
"Title": "AuthorizationRecordController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Telescopic\\AuthorizationRecordController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Telescopic\\AuthorizationRecordController.cs",
@@ -980,7 +996,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 52,
+ "DocumentIndex": 53,
"Title": "Dt_FaceRecognition.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\Telescopic\\Dt_FaceRecognition.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\Telescopic\\Dt_FaceRecognition.cs",
@@ -992,7 +1008,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 54,
+ "DocumentIndex": 55,
"Title": "DepartmentController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Telescopic\\DepartmentController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Telescopic\\DepartmentController.cs",
@@ -1004,7 +1020,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 55,
+ "DocumentIndex": 56,
"Title": "UserPermissions.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\UserPermissions.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\UserPermissions.cs",
@@ -1016,7 +1032,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 56,
+ "DocumentIndex": 57,
"Title": "FaceRecognitionController .cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Telescopic\\FaceRecognitionController .cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Telescopic\\FaceRecognitionController .cs",
@@ -1028,7 +1044,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 57,
+ "DocumentIndex": 58,
"Title": "IFaceRecognitionServer .cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITelescopicService\\IFaceRecognitionServer .cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITelescopicService\\IFaceRecognitionServer .cs",
@@ -1040,7 +1056,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 58,
+ "DocumentIndex": 59,
"Title": "Sys_Role.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Sys_Role.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\Sys_Role.cs",
@@ -1052,7 +1068,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 59,
+ "DocumentIndex": 60,
"Title": "FaceRecognitionServer.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TelescopicService\\FaceRecognitionServer.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_TelescopicService\\FaceRecognitionServer.cs",
@@ -1064,7 +1080,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 60,
+ "DocumentIndex": 61,
"Title": "LoginhsyController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Telescopic\\LoginhsyController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Telescopic\\LoginhsyController.cs",
@@ -1076,7 +1092,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 61,
+ "DocumentIndex": 62,
"Title": "Sys_Tenant.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Sys_Tenant.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\Sys_Tenant.cs",
@@ -1088,7 +1104,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 62,
+ "DocumentIndex": 63,
"Title": "SSGTwoJob.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\SSG\\SSGTwoJob.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\SSG\\SSGTwoJob.cs",
@@ -1100,7 +1116,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 63,
+ "DocumentIndex": 64,
"Title": "SSGOneJob.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\SSG\\SSGOneJob.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\SSG\\SSGOneJob.cs",
@@ -1112,7 +1128,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 64,
+ "DocumentIndex": 65,
"Title": "StockQuantityChangeRecordController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\WMSPart\\StockQuantityChangeRecordController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\WMSPart\\StockQuantityChangeRecordController.cs",
@@ -1124,7 +1140,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 67,
+ "DocumentIndex": 68,
"Title": "ITaskService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
@@ -1136,7 +1152,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 66,
+ "DocumentIndex": 67,
"Title": "OHTJob.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
@@ -1148,7 +1164,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 65,
+ "DocumentIndex": 66,
"Title": "StockInfoDetailController.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\WMSPart\\StockInfoDetailController.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\WMSPart\\StockInfoDetailController.cs",
@@ -1160,7 +1176,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 68,
+ "DocumentIndex": 69,
"Title": "Dt_MaintenanceTeam.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\Telescopic\\Dt_MaintenanceTeam.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\Telescopic\\Dt_MaintenanceTeam.cs",
@@ -1172,7 +1188,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 69,
+ "DocumentIndex": 70,
"Title": "launchSettings.json",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Properties\\launchSettings.json",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Properties\\launchSettings.json",
@@ -1184,7 +1200,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 70,
+ "DocumentIndex": 71,
"Title": "Microsoft.Common.CurrentVersion.targets",
"DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
"ToolTip": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
@@ -1194,7 +1210,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 71,
+ "DocumentIndex": 72,
"Title": "WebSocketSetup.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\WebSocketSetup.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\WebSocketSetup.cs",
@@ -1206,7 +1222,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 72,
+ "DocumentIndex": 73,
"Title": "WebSocketHostService.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\WebSocketHostService.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\WebSocketHostService.cs",
@@ -1218,7 +1234,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 82,
+ "DocumentIndex": 83,
"Title": "Sys_DictionaryList.tsv",
"DocumentMoniker": "E:\\ssg\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\wwwroot\\WIDESEAWCS_DB.DBSeed.Json\\Sys_DictionaryList.tsv",
"RelativeDocumentMoniker": "..\\..\\..\\..\\..\\..\\ssg\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\wwwroot\\WIDESEAWCS_DB.DBSeed.Json\\Sys_DictionaryList.tsv",
@@ -1230,7 +1246,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 73,
+ "DocumentIndex": 74,
"Title": "DBSeed.cs",
"DocumentMoniker": "C:\\Users\\Administrator\\AppData\\Local\\Temp\\.vsdbgsrc\\21701ff9ac1c4559ce6e7320e3be3c080710baae7b9b8389cc7919101855e43d\\DBSeed.cs",
"ToolTip": "C:\\Users\\Administrator\\AppData\\Local\\Temp\\.vsdbgsrc\\21701ff9ac1c4559ce6e7320e3be3c080710baae7b9b8389cc7919101855e43d\\DBSeed.cs",
@@ -1240,7 +1256,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 74,
+ "DocumentIndex": 75,
"Title": "LoginInfo.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\LoginInfo.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Model\\LoginInfo.cs",
@@ -1252,7 +1268,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 76,
+ "DocumentIndex": 77,
"Title": "UserDTO.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Telescopic\\UserDTO.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Telescopic\\UserDTO.cs",
@@ -1264,7 +1280,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 81,
+ "DocumentIndex": 82,
"Title": "SpeedDTO.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Telescopic\\SpeedDTO.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Telescopic\\SpeedDTO.cs",
@@ -1276,7 +1292,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 75,
+ "DocumentIndex": 76,
"Title": "UpstreamIDTO.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Telescopic\\UpstreamIDTO.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Telescopic\\UpstreamIDTO.cs",
@@ -1288,7 +1304,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 77,
+ "DocumentIndex": 78,
"Title": "PaginationDTO.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Telescopic\\PaginationDTO.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Telescopic\\PaginationDTO.cs",
@@ -1300,7 +1316,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 78,
+ "DocumentIndex": 79,
"Title": "AddUserDTO.cs",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\System\\AddUserDTO.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_DTO\\System\\AddUserDTO.cs",
@@ -1312,7 +1328,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 79,
+ "DocumentIndex": 80,
"Title": "Face.cs",
"DocumentMoniker": "C:\\Users\\Administrator\\AppData\\Local\\Temp\\.vsdbgsrc\\b700ba3c32194731a3eaca4d8eaddd483d62abecc7fa3ee9e8c64e80596c22fa\\Face.cs",
"ToolTip": "C:\\Users\\Administrator\\AppData\\Local\\Temp\\.vsdbgsrc\\b700ba3c32194731a3eaca4d8eaddd483d62abecc7fa3ee9e8c64e80596c22fa\\Face.cs",
@@ -1322,7 +1338,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 80,
+ "DocumentIndex": 81,
"Title": "index.html",
"DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u7F8E\u65B0\\ShenSuoGanKongZhi\\project\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\index.html",
"RelativeDocumentMoniker": "WIDESEAWCS_Server\\index.html",
diff --git a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/DownLoad/face-plugin.zip b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/DownLoad/face-plugin.zip
index b667e28..ab3f21e 100644
--- a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/DownLoad/face-plugin.zip
+++ b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/DownLoad/face-plugin.zip
Binary files differ
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.670.39694/CodeChunks.db" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.670.39694/CodeChunks.db"
new file mode 100644
index 0000000..ff3175f
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.670.39694/CodeChunks.db"
Binary files differ
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.670.39694/SemanticSymbols.db" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.670.39694/SemanticSymbols.db"
new file mode 100644
index 0000000..3aebee5
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.670.39694/SemanticSymbols.db"
Binary files differ
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db"
new file mode 100644
index 0000000..aa5d6e1
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db"
Binary files differ
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db-shm" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db-shm"
new file mode 100644
index 0000000..8420d52
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db-shm"
Binary files differ
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db-wal" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db-wal"
new file mode 100644
index 0000000..419ea57
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/CodeChunks.db-wal"
Binary files differ
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db"
new file mode 100644
index 0000000..330f6d0
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db"
Binary files differ
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db-shm" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db-shm"
new file mode 100644
index 0000000..2dcdd6f
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db-shm"
Binary files differ
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db-wal" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db-wal"
new file mode 100644
index 0000000..53bec62
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/CopilotIndices/17.14.734.62261/SemanticSymbols.db-wal"
Binary files differ
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/v17/DocumentLayout.backup.json" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/v17/DocumentLayout.backup.json"
new file mode 100644
index 0000000..ffe1ae3
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/v17/DocumentLayout.backup.json"
@@ -0,0 +1,244 @@
+{
+ "Version": 1,
+ "WorkspaceRootPath": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\",
+ "Documents": [
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\facesdkx64register.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\facesdkx64register.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64service\\th_faces.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|solutionrelative:facesdkx64service\\th_faces.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\frmregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\frmregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64service\\httpserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|solutionrelative:facesdkx64service\\httpserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64service\\chs_capture.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|solutionrelative:facesdkx64service\\chs_capture.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64\\frmfacecheck.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|solutionrelative:facesdkx64\\frmfacecheck.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|F:\\\u6D4B\u8BD5\\FaceSdkX64\\facesdkx64register\\frmregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\frmregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\properties\\resources.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\properties\\resources.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\properties\\resources.resx||{81828910-B8B3-4D2B-99A3-067027C180C1}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\properties\\resources.resx||{81828910-B8B3-4D2B-99A3-067027C180C1}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\myopaquelayer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\myopaquelayer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\opaquecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\opaquecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|F:\\\u6D4B\u8BD5\\FaceSdkX64\\facesdkx64\\frmfacecheck.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+ "RelativeMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|solutionrelative:facesdkx64\\frmfacecheck.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64\\facesdkx64.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|",
+ "RelativeMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|solutionrelative:facesdkx64\\facesdkx64.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
+ }
+ ],
+ "DocumentGroupContainers": [
+ {
+ "Orientation": 0,
+ "VerticalTabListWidth": 256,
+ "DocumentGroups": [
+ {
+ "DockedWidth": 200,
+ "SelectedChildIndex": 2,
+ "Children": [
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "TH_Faces.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\TH_Faces.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Service\\TH_Faces.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\TH_Faces.cs",
+ "RelativeToolTip": "FaceSdkX64Service\\TH_Faces.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAB8AAABCAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-06-08T03:19:03.556Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 4,
+ "Title": "CHS_Capture.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\CHS_Capture.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Service\\CHS_Capture.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\CHS_Capture.cs",
+ "RelativeToolTip": "FaceSdkX64Service\\CHS_Capture.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-06-08T03:18:57.128Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "FaceSdkX64Register.csproj",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FaceSdkX64Register.csproj",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\FaceSdkX64Register.csproj",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FaceSdkX64Register.csproj",
+ "RelativeToolTip": "FaceSdkX64Register\\FaceSdkX64Register.csproj",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAApAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+ "WhenOpened": "2025-06-06T07:14:47.187Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "HttpServer.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\HttpServer.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Service\\HttpServer.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\HttpServer.cs",
+ "RelativeToolTip": "FaceSdkX64Service\\HttpServer.cs",
+ "ViewState": "AgIAABwAAAAAAAAAAAAQwCIAAAANAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-29T07:43:03.48Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
+ "Title": "Resources.Designer.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\Properties\\Resources.Designer.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\Properties\\Resources.Designer.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\Properties\\Resources.Designer.cs",
+ "RelativeToolTip": "FaceSdkX64Register\\Properties\\Resources.Designer.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAEYAAAAJAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-29T02:18:20.337Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 9,
+ "Title": "Resources.resx",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\Properties\\Resources.resx",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\Properties\\Resources.resx",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\Properties\\Resources.resx",
+ "RelativeToolTip": "FaceSdkX64Register\\Properties\\Resources.resx",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001005|",
+ "WhenOpened": "2025-05-29T02:16:24.157Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 10,
+ "Title": "MyOpaqueLayer.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\MyOpaqueLayer.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\MyOpaqueLayer.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\MyOpaqueLayer.cs",
+ "RelativeToolTip": "FaceSdkX64Register\\MyOpaqueLayer.cs",
+ "ViewState": "AgIAADsAAAAAAAAAAAAYwE0AAAA0AAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-29T02:12:52.072Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 13,
+ "Title": "FaceSdkX64",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FaceSdkX64.csproj",
+ "RelativeDocumentMoniker": "FaceSdkX64\\FaceSdkX64.csproj",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FaceSdkX64.csproj",
+ "RelativeToolTip": "FaceSdkX64\\FaceSdkX64.csproj",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+ "WhenOpened": "2025-05-28T08:39:06.348Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "FrmRegister.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FrmRegister.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\FrmRegister.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FrmRegister.cs",
+ "RelativeToolTip": "FaceSdkX64Register\\FrmRegister.cs",
+ "ViewState": "AgIAAAgAAAAAAAAAAAAxwCgAAABCAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-28T07:25:57.103Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "App.config",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\App.config",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\App.config",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\App.config",
+ "RelativeToolTip": "FaceSdkX64Register\\App.config",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|",
+ "WhenOpened": "2025-06-05T01:57:45.621Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
+ "Title": "FrmRegister.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FrmRegister.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\FrmRegister.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FrmRegister.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "FaceSdkX64Register\\FrmRegister.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-28T08:36:25.753Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "FrmFaceCheck.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FrmFaceCheck.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64\\FrmFaceCheck.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FrmFaceCheck.cs",
+ "RelativeToolTip": "FaceSdkX64\\FrmFaceCheck.cs",
+ "ViewState": "AgIAAAoCAAAAAAAAAAAvwAkCAAAbAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-28T06:42:06.783Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 11,
+ "Title": "OpaqueCommand.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\OpaqueCommand.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\OpaqueCommand.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\OpaqueCommand.cs",
+ "RelativeToolTip": "FaceSdkX64Register\\OpaqueCommand.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAuwBIAAAAUAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-29T02:23:19.143Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 12,
+ "Title": "FrmFaceCheck.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FrmFaceCheck.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64\\FrmFaceCheck.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FrmFaceCheck.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "FaceSdkX64\\FrmFaceCheck.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-28T06:42:03.078Z"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/v17/DocumentLayout.json" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/v17/DocumentLayout.json"
new file mode 100644
index 0000000..aa55d5c
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/v17/DocumentLayout.json"
@@ -0,0 +1,260 @@
+{
+ "Version": 1,
+ "WorkspaceRootPath": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\",
+ "Documents": [
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\facesdkx64register.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\facesdkx64register.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\facesdkx64register.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\facesdkx64register.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64service\\th_faces.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|solutionrelative:facesdkx64service\\th_faces.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\frmregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\frmregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64service\\httpserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|solutionrelative:facesdkx64service\\httpserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64service\\chs_capture.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{6D18B477-E291-4014-B992-9266DA280C6B}|FaceSdkX64Service\\FaceSdkX64Service.csproj|solutionrelative:facesdkx64service\\chs_capture.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64\\frmfacecheck.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|solutionrelative:facesdkx64\\frmfacecheck.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|F:\\\u6D4B\u8BD5\\FaceSdkX64\\facesdkx64register\\frmregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\frmregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\properties\\resources.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\properties\\resources.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\properties\\resources.resx||{81828910-B8B3-4D2B-99A3-067027C180C1}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\properties\\resources.resx||{81828910-B8B3-4D2B-99A3-067027C180C1}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\myopaquelayer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\myopaquelayer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64register\\opaquecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EB4DDD28-77FA-427F-A757-8C7C98A6665F}|FaceSdkX64Register\\FaceSdkX64Register.csproj|solutionrelative:facesdkx64register\\opaquecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|F:\\\u6D4B\u8BD5\\FaceSdkX64\\facesdkx64\\frmfacecheck.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+ "RelativeMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|solutionrelative:facesdkx64\\frmfacecheck.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|f:\\\u6D4B\u8BD5\\facesdkx64\\facesdkx64\\facesdkx64.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|",
+ "RelativeMoniker": "D:0:0:{A1CAC745-A3C3-42B5-9826-4358006B3CBD}|FaceSdkX64\\FaceSdkX64.csproj|solutionrelative:facesdkx64\\facesdkx64.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
+ }
+ ],
+ "DocumentGroupContainers": [
+ {
+ "Orientation": 0,
+ "VerticalTabListWidth": 256,
+ "DocumentGroups": [
+ {
+ "DockedWidth": 200,
+ "SelectedChildIndex": 0,
+ "Children": [
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "FaceSdkX64Register",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FaceSdkX64Register.csproj",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\FaceSdkX64Register.csproj",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FaceSdkX64Register.csproj",
+ "RelativeToolTip": "FaceSdkX64Register\\FaceSdkX64Register.csproj",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+ "WhenOpened": "2025-06-09T06:11:55.423Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "TH_Faces.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\TH_Faces.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Service\\TH_Faces.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\TH_Faces.cs",
+ "RelativeToolTip": "FaceSdkX64Service\\TH_Faces.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAB8AAABCAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-06-08T03:19:03.556Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "CHS_Capture.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\CHS_Capture.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Service\\CHS_Capture.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\CHS_Capture.cs",
+ "RelativeToolTip": "FaceSdkX64Service\\CHS_Capture.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-06-08T03:18:57.128Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "FaceSdkX64Register.csproj",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FaceSdkX64Register.csproj",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\FaceSdkX64Register.csproj",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FaceSdkX64Register.csproj*",
+ "RelativeToolTip": "FaceSdkX64Register\\FaceSdkX64Register.csproj*",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAApAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+ "WhenOpened": "2025-06-06T07:14:47.187Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 4,
+ "Title": "HttpServer.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\HttpServer.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Service\\HttpServer.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Service\\HttpServer.cs",
+ "RelativeToolTip": "FaceSdkX64Service\\HttpServer.cs",
+ "ViewState": "AgIAABwAAAAAAAAAAAAQwCIAAAANAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-29T07:43:03.48Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 9,
+ "Title": "Resources.Designer.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\Properties\\Resources.Designer.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\Properties\\Resources.Designer.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\Properties\\Resources.Designer.cs",
+ "RelativeToolTip": "FaceSdkX64Register\\Properties\\Resources.Designer.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAEYAAAAJAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-29T02:18:20.337Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 10,
+ "Title": "Resources.resx",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\Properties\\Resources.resx",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\Properties\\Resources.resx",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\Properties\\Resources.resx",
+ "RelativeToolTip": "FaceSdkX64Register\\Properties\\Resources.resx",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001005|",
+ "WhenOpened": "2025-05-29T02:16:24.157Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 11,
+ "Title": "MyOpaqueLayer.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\MyOpaqueLayer.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\MyOpaqueLayer.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\MyOpaqueLayer.cs",
+ "RelativeToolTip": "FaceSdkX64Register\\MyOpaqueLayer.cs",
+ "ViewState": "AgIAADsAAAAAAAAAAAAYwE0AAAA0AAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-29T02:12:52.072Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 14,
+ "Title": "FaceSdkX64",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FaceSdkX64.csproj",
+ "RelativeDocumentMoniker": "FaceSdkX64\\FaceSdkX64.csproj",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FaceSdkX64.csproj",
+ "RelativeToolTip": "FaceSdkX64\\FaceSdkX64.csproj",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+ "WhenOpened": "2025-05-28T08:39:06.348Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "FrmRegister.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FrmRegister.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\FrmRegister.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FrmRegister.cs",
+ "RelativeToolTip": "FaceSdkX64Register\\FrmRegister.cs",
+ "ViewState": "AgIAAAgAAAAAAAAAAAAxwCgAAABCAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-28T07:25:57.103Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "App.config",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\App.config",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\App.config",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\App.config",
+ "RelativeToolTip": "FaceSdkX64Register\\App.config",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|",
+ "WhenOpened": "2025-06-05T01:57:45.621Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
+ "Title": "FrmRegister.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FrmRegister.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\FrmRegister.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\FrmRegister.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "FaceSdkX64Register\\FrmRegister.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-28T08:36:25.753Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
+ "Title": "FrmFaceCheck.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FrmFaceCheck.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64\\FrmFaceCheck.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FrmFaceCheck.cs",
+ "RelativeToolTip": "FaceSdkX64\\FrmFaceCheck.cs",
+ "ViewState": "AgIAAAoCAAAAAAAAAAAvwAkCAAAbAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-28T06:42:06.783Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 12,
+ "Title": "OpaqueCommand.cs",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\OpaqueCommand.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64Register\\OpaqueCommand.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64Register\\OpaqueCommand.cs",
+ "RelativeToolTip": "FaceSdkX64Register\\OpaqueCommand.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAuwBIAAAAUAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-29T02:23:19.143Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 13,
+ "Title": "FrmFaceCheck.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FrmFaceCheck.cs",
+ "RelativeDocumentMoniker": "FaceSdkX64\\FrmFaceCheck.cs",
+ "ToolTip": "F:\\\u6D4B\u8BD5\\FaceSdkX64\\FaceSdkX64\\FrmFaceCheck.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "FaceSdkX64\\FrmFaceCheck.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-05-28T06:42:03.078Z"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/v17/ResourceExplorer/settings.json" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/v17/ResourceExplorer/settings.json"
new file mode 100644
index 0000000..f1501bc
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/.vs/FaceSdkX64/v17/ResourceExplorer/settings.json"
@@ -0,0 +1,16 @@
+{
+ "ShowEmptyProjects": false,
+ "SelectedGroups": [],
+ "ExpandedProjects": [],
+ "EnableSpellChecker": true,
+ "ColumnOrder": [
+ "name",
+ "type",
+ "neutral-value",
+ "neutral-comment"
+ ],
+ "VisibleColumnKeys": [
+ "name",
+ "neutral-value"
+ ]
+}
\ No newline at end of file
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64.sln" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64.sln"
new file mode 100644
index 0000000..3e22f9b
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64.sln"
@@ -0,0 +1,77 @@
+锘�
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.36109.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FaceSdkX64", "FaceSdkX64\FaceSdkX64.csproj", "{A1CAC745-A3C3-42B5-9826-4358006B3CBD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FaceSdkX64Register", "FaceSdkX64Register\FaceSdkX64Register.csproj", "{EB4DDD28-77FA-427F-A757-8C7C98A6665F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FaceSdkX64Service", "FaceSdkX64Service\FaceSdkX64Service.csproj", "{6D18B477-E291-4014-B992-9266DA280C6B}"
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "FacePlugin", "FacePlugin\FacePlugin.vdproj", "{967F0B76-B20B-D70C-BDE0-80E287558C7D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Debug|x64.Build.0 = Debug|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Debug|x86.Build.0 = Debug|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Release|x64.ActiveCfg = Release|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Release|x64.Build.0 = Release|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Release|x86.ActiveCfg = Release|Any CPU
+ {A1CAC745-A3C3-42B5-9826-4358006B3CBD}.Release|x86.Build.0 = Release|Any CPU
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Debug|x64.ActiveCfg = Debug|x64
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Debug|x64.Build.0 = Debug|x64
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Debug|x86.ActiveCfg = Debug|x86
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Debug|x86.Build.0 = Debug|x86
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Release|x64.ActiveCfg = Release|x64
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Release|x64.Build.0 = Release|x64
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Release|x86.ActiveCfg = Release|x86
+ {EB4DDD28-77FA-427F-A757-8C7C98A6665F}.Release|x86.Build.0 = Release|x86
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Debug|x64.Build.0 = Debug|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Debug|x86.Build.0 = Debug|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Release|x64.ActiveCfg = Release|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Release|x64.Build.0 = Release|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Release|x86.ActiveCfg = Release|Any CPU
+ {6D18B477-E291-4014-B992-9266DA280C6B}.Release|x86.Build.0 = Release|Any CPU
+ {967F0B76-B20B-D70C-BDE0-80E287558C7D}.Debug|Any CPU.ActiveCfg = Debug
+ {967F0B76-B20B-D70C-BDE0-80E287558C7D}.Debug|x64.ActiveCfg = Debug
+ {967F0B76-B20B-D70C-BDE0-80E287558C7D}.Debug|x64.Build.0 = Debug
+ {967F0B76-B20B-D70C-BDE0-80E287558C7D}.Debug|x86.ActiveCfg = Debug
+ {967F0B76-B20B-D70C-BDE0-80E287558C7D}.Debug|x86.Build.0 = Debug
+ {967F0B76-B20B-D70C-BDE0-80E287558C7D}.Release|Any CPU.ActiveCfg = Release
+ {967F0B76-B20B-D70C-BDE0-80E287558C7D}.Release|x64.ActiveCfg = Release
+ {967F0B76-B20B-D70C-BDE0-80E287558C7D}.Release|x64.Build.0 = Release
+ {967F0B76-B20B-D70C-BDE0-80E287558C7D}.Release|x86.ActiveCfg = Release
+ {967F0B76-B20B-D70C-BDE0-80E287558C7D}.Release|x86.Build.0 = Release
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {29E4C756-E74A-4FA4-89BB-7F19037564AB}
+ EndGlobalSection
+EndGlobal
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/App.config" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/App.config"
new file mode 100644
index 0000000..828be55
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/App.config"
@@ -0,0 +1,6 @@
+锘�<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <appSettings>
+ <add key="port" value="9298"/>
+ </appSettings>
+</configuration>
\ No newline at end of file
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FaceSdkX64Register.csproj" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FaceSdkX64Register.csproj"
new file mode 100644
index 0000000..5645711
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FaceSdkX64Register.csproj"
@@ -0,0 +1,53 @@
+锘�<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <OutputType>WinExe</OutputType>
+ <TargetFramework>net6.0-windows</TargetFramework>
+ <Nullable>enable</Nullable>
+ <UseWindowsForms>true</UseWindowsForms>
+ <ImplicitUsings>enable</ImplicitUsings>
+ <BaseOutputPath>..\bin\</BaseOutputPath>
+ <PlatformTarget>x86</PlatformTarget>
+ <Platforms>AnyCPU;x64;x86</Platforms>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <None Remove="Properties\LoadingImg.gif" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <Content Include="Properties\LoadingImg.gif" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <ProjectReference Include="..\FaceSdkX64Service\FaceSdkX64Service.csproj" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <Compile Update="Properties\Resources.Designer.cs">
+ <DesignTime>True</DesignTime>
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ </ItemGroup>
+
+ <ItemGroup>
+ <EmbeddedResource Update="Properties\Resources.resx">
+ <Generator>PublicResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ </ItemGroup>
+
+ <ItemGroup>
+ <None Update="camera.ini">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ <None Update="IdFaceSdk.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ <None Update="SmCameraPreview.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ </ItemGroup>
+
+</Project>
\ No newline at end of file
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FrmRegister.Designer.cs" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FrmRegister.Designer.cs"
new file mode 100644
index 0000000..2f6c48d
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FrmRegister.Designer.cs"
@@ -0,0 +1,93 @@
+锘縩amespace FaceSdkX64Register
+{
+ partial class FrmRegister
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ components = new System.ComponentModel.Container();
+ pictureBox1 = new PictureBox();
+ label1 = new Label();
+ timer1 = new System.Windows.Forms.Timer(components);
+ timer2 = new System.Windows.Forms.Timer(components);
+ timer3 = new System.Windows.Forms.Timer(components);
+ ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
+ SuspendLayout();
+ //
+ // pictureBox1
+ //
+ pictureBox1.Location = new Point(23, 12);
+ pictureBox1.Name = "pictureBox1";
+ pictureBox1.Size = new Size(1280, 960);
+ pictureBox1.TabIndex = 0;
+ pictureBox1.TabStop = false;
+ //
+ // label1
+ //
+ label1.AutoSize = true;
+ label1.Location = new Point(589, 29);
+ label1.Name = "label1";
+ label1.Size = new Size(63, 24);
+ label1.TabIndex = 1;
+ label1.Text = "label1";
+ //
+ // timer1
+ //
+ timer1.Tick += timer1_Tick;
+ //
+ // timer2
+ //
+ timer2.Tick += timer2_Tick;
+ //
+ // timer3
+ //
+ timer3.Tick += timer3_Tick;
+ //
+ // FrmRegister
+ //
+ AutoScaleDimensions = new SizeF(11F, 24F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(1331, 992);
+ Controls.Add(label1);
+ Controls.Add(pictureBox1);
+ Name = "FrmRegister";
+ StartPosition = FormStartPosition.CenterScreen;
+ Text = "浜鸿劯褰曞叆";
+ Load += FrmRegister_Load;
+ ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
+ ResumeLayout(false);
+ PerformLayout();
+ }
+
+ #endregion
+
+ private PictureBox pictureBox1;
+ private Label label1;
+ private System.Windows.Forms.Timer timer1;
+ private System.Windows.Forms.Timer timer2;
+ private System.Windows.Forms.Timer timer3;
+ }
+}
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FrmRegister.cs" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FrmRegister.cs"
new file mode 100644
index 0000000..a9904bb
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FrmRegister.cs"
@@ -0,0 +1,501 @@
+using System;
+using System.Configuration;
+using System.Runtime.InteropServices;
+using System.Text;
+using FaceSdkX64Service;
+
+namespace FaceSdkX64Register
+{
+ public partial class FrmRegister : Form
+ {
+ Int32 VIDEO_WIDTH = 640, VIDEO_HEIGHT = 480; // 相机分辨率
+
+ Int32 nRotate = 0; /* 相机安装角度:0-正常安装,90-旋转90度安装,180-旋转180度安装,270-旋转270度安装 */
+
+ Int32 nWidth = 0, nHeight = 0; // 视频帧数据分辨率(相机正装时为相机分辨率,相机90度或270度倒装时为相机分辨率宽度对调)
+
+ // 界面显示及保存图象的人脸大小相对原始SDK检测出的人脸大小的放大倍数
+ float fExtendLeft = 0.15f, fExtendRight = 0.15f, fExtendTop = 0.15f, fExtendBottom = 0.20f; // 为0表示不放大
+
+ // 彩色及红外相机 VID/PID 配置(有配置则根据指定的VID/PID打开相机,无配置则根据选择的相机编号打开相机)
+ int nVid1 = 0, nPid1 = 0, nVid2 = 0, nPid2 = 0;
+
+ IntPtr hCamColor = IntPtr.Zero, hCamGray = IntPtr.Zero; // 相机对象
+ IntPtr hPreviewColor = IntPtr.Zero, hPreviewGray = IntPtr.Zero; // 视频帧显示对角
+
+ TH_Faces.FACE_DETECT_RESULT FaceColor, FaceColorExt; // SDK检测到的彩色图象原始人脸坐标,以及界面显示及保存图象的人脸坐标(在原始坐标基础上根据fExtend?变量放大)
+ TH_Faces.FACE_DETECT_RESULT FaceGray, FaceGrayExt; // SDK检测到的红外图象原始人脸坐标,以及界面显示及保存图象的人脸坐标(在原始坐标基础上根据fExtend?变量放大)
+
+ Boolean bSdkInit = false, bCamColorReady = false, bCamGrayReady = false, bFramesReady = false; // 状态标识
+
+ IntPtr pFrameColor, pFrameGray; // 保存彩色相机和红外相机的图象帧数据
+ IntPtr pFrameTemp, pFrameTemp2; // 临时图象帧数据缓冲区
+ OpaqueCommand oc;
+
+ bool loading = false;
+
+ public FrmRegister()
+ {
+ InitializeComponent();
+ oc = new OpaqueCommand();
+ CheckForIllegalCrossThreadCalls = false; // 允许跨线程调用控件、
+ }
+
+ private void FrmRegister_Load(object sender, EventArgs e)
+ {
+ loading = true;
+ timer3.Enabled = true; // 启动定时器,定时显示半透明蒙板层
+ Task.Run(() =>
+ {
+ try
+ {
+ int i, nCameraNum = CHS_Capture.SmCameraGetCount(); // 检测连接的相机个数
+
+ // 读相机配置文件 camera.ini (是否打开指定 VID/PID 的相机)
+ string val;
+
+ StringBuilder sb = new StringBuilder(256);
+ ConfigHelper.GetPrivateProfileString("common", "vid1", "0", sb, 255, "./camera.ini"); // 读彩色相机的VID
+ try
+ {
+ val = sb.ToString();
+ nVid1 = Convert.ToInt32(val, 16);
+ }
+ catch
+ {
+ nVid1 = 0;
+ }
+ ConfigHelper.GetPrivateProfileString("common", "pid1", "0", sb, 255, "./camera.ini"); // 读彩色相机的PID
+ try
+ {
+ val = sb.ToString();
+ nPid1 = Convert.ToInt32(val, 16);
+ }
+ catch
+ {
+ nPid1 = 0;
+ }
+ ConfigHelper.GetPrivateProfileString("common", "vid2", "0", sb, 255, "./camera.ini"); // 读红外相机的VID
+ try
+ {
+ val = sb.ToString();
+ nVid2 = Convert.ToInt32(val, 16);
+ }
+ catch
+ {
+ nVid2 = 0;
+ }
+ ConfigHelper.GetPrivateProfileString("common", "pid2", "0", sb, 255, "./camera.ini"); // 读红外相机的PID
+ try
+ {
+ val = sb.ToString();
+ nPid2 = Convert.ToInt32(val, 16);
+ }
+ catch
+ {
+ nPid2 = 0;
+ }
+
+ if (nVid1 <= 0 || nPid1 <= 0) nVid1 = 0;
+ if (nVid2 <= 0 || nPid2 <= 0) nVid2 = 0;
+
+ if (nCameraNum == 0)
+ {
+ label1.Text = "没有检测到相机,请检查相机连接是否正常!";
+ label1.ForeColor = Color.Red;
+ return;
+ }
+
+ // SDK初始化
+ int ret = TH_Faces.IdFaceSdkInit();
+ if (ret < 0)
+ {
+ label1.Text = "算法初始化失败, 请插入加密狗 !";
+ label1.ForeColor = Color.Red;
+
+ IntPtr pRunCode = Marshal.AllocHGlobal(35 + 1);
+ TH_Faces.IdFaceSdkGetRunCode(pRunCode);
+ MessageBox.Show("SDK初始化失败 !\n\n设备运行码: " + Marshal.PtrToStringAnsi(pRunCode));
+ Marshal.FreeHGlobal(pRunCode);
+ return;
+ }
+
+ // 授权是否支持活体检测
+ ret = TH_Faces.IdFaceSdkGetLiveFaceStatus();
+ if (ret != 1)
+ {
+ TH_Faces.IdFaceSdkUninit();
+ label1.Text = "活体检测授权未开通,请联系供应商 !";
+ label1.ForeColor = Color.Red;
+ return;
+ }
+
+ bSdkInit = true;
+
+ // 分配彩色帧缓冲区、红外帧缓冲区及临时帧数据缓冲区
+ pFrameColor = Marshal.AllocHGlobal(VIDEO_WIDTH * VIDEO_HEIGHT * 3);
+ pFrameGray = Marshal.AllocHGlobal(VIDEO_WIDTH * VIDEO_HEIGHT * 3);
+ pFrameTemp = Marshal.AllocHGlobal(VIDEO_WIDTH * VIDEO_HEIGHT * 3);
+ pFrameTemp2 = Marshal.AllocHGlobal(VIDEO_WIDTH * VIDEO_HEIGHT * 3);
+
+ // 分配彩色原始人脸坐标空间、彩色放大人脸坐标空间、红外原始人脸坐标空间、红外放大人脸坐标空间
+ FaceColor = new TH_Faces.FACE_DETECT_RESULT();
+ FaceColorExt = new TH_Faces.FACE_DETECT_RESULT();
+ FaceGray = new TH_Faces.FACE_DETECT_RESULT();
+ FaceGrayExt = new TH_Faces.FACE_DETECT_RESULT();
+
+ Start();
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("初始化相机失败: " + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ finally
+ {
+ loading = false;
+ }
+ });
+ }
+
+ private void Start()
+ {
+ if (nRotate == 90 || nRotate == 270)
+ {
+ nWidth = VIDEO_HEIGHT;
+ nHeight = VIDEO_WIDTH;
+ }
+ else
+ {
+ nWidth = VIDEO_WIDTH;
+ nHeight = VIDEO_HEIGHT;
+ }
+
+ // 打开彩色相机
+ if (nVid1 > 0) hCamColor = CHS_Capture.SmCameraOpenEx(nVid1, nPid1, VIDEO_WIDTH, VIDEO_HEIGHT);
+ hCamColor = CHS_Capture.SmCameraOpen(0, VIDEO_WIDTH, VIDEO_HEIGHT);
+
+ // 创建彩色帧显示对象
+ hPreviewColor = CHS_Capture.SmCameraPreviewCreate(nWidth, nHeight, pictureBox1.Handle);
+
+ bCamColorReady = (hCamColor != IntPtr.Zero);
+ bCamGrayReady = (hCamGray != IntPtr.Zero);
+ bFramesReady = false;
+
+
+ // 启动定时器
+ //timer1.Interval = 40;
+ //timer2.Interval = 200;
+ //timer1.Enabled = true;
+ //timer2.Enabled = true;
+ }
+
+ private void timer1_Tick(object sender, EventArgs e)
+ {
+ int ret;
+
+ // 如果彩色相机已打开,读取彩色视频帧
+ if (bCamColorReady)
+ {
+ if (nRotate == 90 || nRotate == 270)
+ {
+ // 相机旋转90度或270度,先读到临时缓冲区
+ ret = CHS_Capture.SmCameraGetFrame(hCamColor, pFrameTemp, 1, 0);
+
+ // 将临时缓冲区中的图象数据旋转后放入 pFrameColor 缓冲区
+ if (ret == 0) TH_Faces.RotateRgb24Data(pFrameTemp, VIDEO_WIDTH, VIDEO_HEIGHT, nRotate, 0, pFrameColor);
+ }
+ // 直接读取视频帧数据到 pFrameColor 缓冲区
+ else ret = CHS_Capture.SmCameraGetFrame(hCamColor, pFrameColor, 1, 0);
+
+ if (ret == 2) // 相机已断开连接,则关闭相机
+ {
+ CHS_Capture.SmCameraClose(hCamColor);
+ hCamColor = IntPtr.Zero;
+ bCamColorReady = false;
+ label1.Text = "彩色相机已断开";
+ label1.ForeColor = Color.Red;
+ }
+ }
+
+ // 如果红外相机已打开,读取红外视频帧
+ if (bCamGrayReady)
+ {
+ if (nRotate == 90 || nRotate == 270)
+ {
+ // 相机旋转90度或270度,先读到临时缓冲区
+ ret = CHS_Capture.SmCameraGetFrame(hCamGray, pFrameTemp, 1, 0);
+
+ // 将临时缓冲区中的图象数据旋转后放入 pFrameGray 缓冲区
+ if (ret == 0) TH_Faces.RotateRgb24Data(pFrameTemp, VIDEO_WIDTH, VIDEO_HEIGHT, nRotate, 0, pFrameGray);
+ }
+ // 直接读取视频帧数据到 pFrameGray 缓冲区
+ else ret = CHS_Capture.SmCameraGetFrame(hCamGray, pFrameGray, 1, 0);
+
+ if (ret == 2) // 相机已断开连接,则关闭相机
+ {
+ CHS_Capture.SmCameraClose(hCamGray);
+ hCamGray = IntPtr.Zero;
+ bCamGrayReady = false;
+ label1.Text = "红外相机已断开";
+ label1.ForeColor = Color.Red;
+ }
+ }
+
+ bFramesReady = (bCamColorReady || bCamGrayReady);
+
+ // 显示彩色帧图象
+ if (bCamColorReady) CHS_Capture.SmCameraPreviewFace(hPreviewColor, pFrameColor, FaceColorExt.rcFace.left, FaceColorExt.rcFace.top, FaceColorExt.rcFace.right, FaceColorExt.rcFace.bottom, 3, Color.Green.ToArgb());
+
+ // 显示红外帧图象
+ if (bCamGrayReady) CHS_Capture.SmCameraPreviewFace(hPreviewGray, pFrameGray, FaceGrayExt.rcFace.left, FaceGrayExt.rcFace.top, FaceGrayExt.rcFace.right, FaceGrayExt.rcFace.bottom, 3, Color.Green.ToArgb());
+ }
+
+ private void timer2_Tick(object sender, EventArgs e)
+ {
+ if (bFramesReady)
+ {
+ // 对彩色和红外帧图象分别检测人脸
+ int nNum1 = 0, nNum2 = 0;
+ if (bCamColorReady) nNum1 = TH_Faces.IdFaceSdkDetectFace(pFrameColor, nWidth, nHeight, ref FaceColor);
+ if (bCamGrayReady) nNum2 = TH_Faces.IdFaceSdkDetectFace(pFrameGray, nWidth, nHeight, ref FaceGray);
+
+ if (nNum1 < 1)
+ { // 彩色镜头未检测到人脸,清除彩色人脸坐标
+ FaceColor.rcFace.left = FaceColor.rcFace.right = 0;
+ FaceColor.rcFace.top = FaceColor.rcFace.bottom = 0;
+ FaceColorExt = FaceColor;
+ }
+ else
+ { // 彩色镜头检测到人脸,更新彩色人脸放大坐标
+ int w = FaceColor.rcFace.right - FaceColor.rcFace.left, h = FaceColor.rcFace.bottom - FaceColor.rcFace.top;
+ int left = FaceColor.rcFace.left - (int)(w * fExtendLeft), right = FaceColor.rcFace.right + (int)(w * fExtendRight), top = FaceColor.rcFace.top - (int)(h * fExtendTop), bottom = FaceColor.rcFace.bottom + (int)(h * fExtendBottom);
+ if (left < 0) left = 0;
+ if (right >= nWidth) right = nWidth - 1;
+ if (top < 0) top = 0;
+ if (bottom >= nHeight) bottom = nHeight - 1;
+
+ FaceColorExt.rcFace.left = left;
+ FaceColorExt.rcFace.top = top;
+ FaceColorExt.rcFace.right = right;
+ FaceColorExt.rcFace.bottom = bottom;
+
+ }
+ if (nNum2 < 1)
+ { // 红外镜头未检测到人脸,清除红外人脸坐标
+ FaceGray.rcFace.left = FaceGray.rcFace.right = 0;
+ FaceGray.rcFace.top = FaceGray.rcFace.bottom = nHeight;
+ FaceGrayExt = FaceGray;
+ }
+ else
+ { // 红外镜头检测到人脸,更新红外人脸放大坐标
+ int w = FaceGray.rcFace.right - FaceGray.rcFace.left, h = FaceGray.rcFace.bottom - FaceGray.rcFace.top;
+ int left = FaceGray.rcFace.left - (int)(w * fExtendLeft), right = FaceGray.rcFace.right + (int)(w * fExtendRight), top = FaceGray.rcFace.top - (int)(h * fExtendTop), bottom = FaceGray.rcFace.bottom + (int)(h * fExtendBottom);
+ if (left < 0) left = 0;
+ if (right >= nWidth) right = nWidth - 1;
+ if (top < 0) top = 0;
+ if (bottom >= nHeight) bottom = nHeight - 1;
+
+ FaceGrayExt.rcFace.left = left;
+ FaceGrayExt.rcFace.top = top;
+ FaceGrayExt.rcFace.right = right;
+ FaceGrayExt.rcFace.bottom = bottom;
+ }
+
+ if (nNum1 > 0 || nNum2 > 0) // 至少有一个相机能检测到人脸时,进行活体判别
+ {
+ int nLiveFace = 0;
+
+ if ((bCamColorReady == true && nNum1 < 1) || (bCamGrayReady == true && nNum2 < 1))
+ { // 两个相机都打开了,但是只有一个相机能检测到人脸时,自动判为非活体
+ label1.Text = "确认为非活体 !";
+ label1.ForeColor = Color.Red;
+ }
+ else
+ {
+ int nScore = 0;
+
+ if (nNum1 > 0 && nNum2 > 0) nLiveFace = TH_Faces.IdFaceSdkLiveFaceDetectEx(nWidth, nHeight, pFrameColor, ref FaceColor, (IntPtr)0, ref FaceGray, ref nScore);
+ else if (nNum1 > 0) nLiveFace = TH_Faces.IdFaceSdkLiveFaceDetectEx(nWidth, nHeight, pFrameColor, ref FaceColor, IntPtr.Zero, ref FaceGray, ref nScore);
+ else nLiveFace = TH_Faces.IdFaceSdkLiveFaceDetectEx(nWidth, nHeight, IntPtr.Zero, ref FaceColor, pFrameGray, ref FaceGray, ref nScore);
+
+ if (nLiveFace == 1)
+ {
+ label1.Text = "确认为活体,分数 " + nScore.ToString();
+ label1.ForeColor = Color.Green;
+
+ if (nScore > 80)
+ {
+ string strTimeFlag = System.DateTime.Now.ToString("yyyyMMddHHmmss");
+
+ string strFolder = Environment.CurrentDirectory + "\\Record";
+ if (System.IO.Directory.Exists(strFolder) == false)
+ System.IO.Directory.CreateDirectory(strFolder);
+
+ string strFileName = strFolder + "\\" + strTimeFlag + "_" + nLiveFace.ToString() + "_1.jpg";
+ if (nNum1 > 0)
+ {
+ IntPtr ptrFileName = Marshal.StringToHGlobalAnsi(strFileName);
+ TH_Faces.CropImage(pFrameColor, nWidth, nHeight, pFrameTemp2, FaceColorExt.rcFace.left, FaceColorExt.rcFace.top, FaceColorExt.rcFace.right - FaceColorExt.rcFace.left, FaceColorExt.rcFace.bottom - FaceColorExt.rcFace.top, 0);
+ TH_Faces.SaveJpegFile(ptrFileName, pFrameTemp2, FaceColorExt.rcFace.right - FaceColorExt.rcFace.left, FaceColorExt.rcFace.bottom - FaceColorExt.rcFace.top, 24, 90);
+ }
+
+ timer1.Enabled = false; // 停止定时器,避免连续检测
+ timer2.Enabled = false;
+
+ //MessageBox.Show("活体检测成功,分数 " + nScore.ToString() + ",人脸图片已保存到 Record 目录下!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+ // 释放资源
+ Stop();
+
+ Release();
+
+ this.Hide(); // 隐藏当前窗口
+ int port = 9298;
+ string? portStr = ConfigurationManager.AppSettings.Get("port");
+ if (!string.IsNullOrEmpty(portStr) && int.TryParse(portStr, out int tempPort))
+ {
+ port = tempPort; // 从配置文件读取端口号
+ }
+
+ DateTime startTime = DateTime.Now;
+ Task.Run(() =>
+ {
+ while (true) // 等待10秒钟
+ {
+ if (DateTime.Now - startTime > TimeSpan.FromSeconds(60))
+ {
+ Environment.Exit(0); // 退出应用程序
+ }
+
+ }
+ });
+
+ HttpServer httpServer = new HttpServer(port, strFileName); // 启动HTTP服务,提供人脸图片访问
+
+ foreach (var item in Directory.GetFiles(strFolder))
+ {
+ File.Delete(item);
+ }
+
+ Environment.Exit(0); // 退出应用程序
+ }
+ }
+ else if (nLiveFace == 0)
+ {
+ label1.Text = "未确认为活体,分数 " + nScore.ToString();
+ label1.ForeColor = Color.Magenta;
+ }
+ else
+ {
+ label1.Text = "活体检测失败,接口返回 " + nLiveFace.ToString();
+ label1.ForeColor = Color.Red;
+ }
+ }
+
+ //if (bSaveFace) // 是否保存人脸图片,每帧人脸图片都保存会占用较大磁盘空间
+ //{
+ // string strTimeFlag = System.DateTime.Now.ToString("yyyyMMddHHmmss");
+
+ // string strFolder = Environment.CurrentDirectory + "\\Record";
+ // if (System.IO.Directory.Exists(strFolder) == false)
+ // System.IO.Directory.CreateDirectory(strFolder);
+
+ // // 保存彩色人脸图片
+ // if (nNum1 > 0)
+ // {
+ // string strFileName = strFolder + "\\" + strTimeFlag + "_" + nLiveFace.ToString() + "_1.jpg";
+ // IntPtr ptrFileName = Marshal.StringToHGlobalAnsi(strFileName);
+ // TH_Faces.CropImage(pFrameColor, nWidth, nHeight, pFrameTemp2, FaceColorExt.rcFace.left, FaceColorExt.rcFace.top, FaceColorExt.rcFace.right - FaceColorExt.rcFace.left, FaceColorExt.rcFace.bottom - FaceColorExt.rcFace.top, 0);
+ // TH_Faces.SaveJpegFile(ptrFileName, pFrameTemp2, FaceColorExt.rcFace.right - FaceColorExt.rcFace.left, FaceColorExt.rcFace.bottom - FaceColorExt.rcFace.top, 24, 90);
+ // }
+ // // 保存红外人脸图片
+ // if (nNum2 > 0)
+ // {
+ // string strFileName = strFolder + "\\" + strTimeFlag + "_" + nLiveFace.ToString() + "_2.jpg";
+ // IntPtr ptrFileName = Marshal.StringToHGlobalAnsi(strFileName);
+ // TH_Faces.CropImage(pFrameGray, nWidth, nHeight, pFrameTemp2, FaceGrayExt.rcFace.left, FaceGrayExt.rcFace.top, FaceGrayExt.rcFace.right - FaceGrayExt.rcFace.left, FaceGrayExt.rcFace.bottom - FaceGrayExt.rcFace.top, 0);
+ // TH_Faces.SaveJpegFile(ptrFileName, pFrameTemp2, FaceGrayExt.rcFace.right - FaceGrayExt.rcFace.left, FaceGrayExt.rcFace.bottom - FaceGrayExt.rcFace.top, 24, 90);
+ // }
+ //}
+ }
+ else
+ { // 两个相机均未检测到人脸,则提示用户正视相机
+ label1.Text = "请正视相机 !";
+ label1.ForeColor = Color.Red;
+ }
+ bFramesReady = false;
+ }
+ }
+
+ void Stop()
+ {
+ bCamColorReady = bCamGrayReady = false;
+ bFramesReady = false;
+
+ // 关闭彩色相机
+ if (hCamColor != IntPtr.Zero)
+ {
+ CHS_Capture.SmCameraClose(hCamColor);
+ hCamColor = IntPtr.Zero;
+ }
+
+ // 关闭红外相机
+ if (hCamGray != IntPtr.Zero)
+ {
+ CHS_Capture.SmCameraClose(hCamGray);
+ hCamGray = IntPtr.Zero;
+ }
+
+ // 销毁彩色帧显示对象
+ if (hPreviewColor != IntPtr.Zero)
+ {
+ CHS_Capture.SmCameraPreviewDestroy(hPreviewColor);
+ hPreviewColor = IntPtr.Zero;
+ }
+
+ // 销毁红外帧显示对象
+ if (hPreviewGray != IntPtr.Zero)
+ {
+ CHS_Capture.SmCameraPreviewDestroy(hPreviewGray);
+ hPreviewGray = IntPtr.Zero;
+ }
+ }
+
+ void Release()
+ {
+ Marshal.FreeHGlobal(pFrameColor);
+ Marshal.FreeHGlobal(pFrameGray);
+ Marshal.FreeHGlobal(pFrameTemp);
+ Marshal.FreeHGlobal(pFrameTemp2);
+
+ if (bSdkInit)
+ {
+ bSdkInit = false;
+
+ // SDK反初始化,释放SDK资源
+ TH_Faces.IdFaceSdkUninit();
+ }
+ }
+
+ private void timer3_Tick(object sender, EventArgs e)
+ {
+ if (!loading)
+ {
+ loading = false;
+ oc.HideOpaqueLayer(); // 隐藏半透明蒙板层
+ timer3.Enabled = false; // 停止定时器
+ timer1.Interval = 40;
+ timer2.Interval = 200;
+ timer1.Enabled = true;
+ timer2.Enabled = true;
+ label1.Visible = true; // 隐藏提示信息
+ }
+ else
+ {
+ label1.Visible = false; // 隐藏提示信息
+ oc.ShowOpaqueLayer(this, 255, true);
+ }
+
+ }
+ }
+}
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FrmRegister.resx" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FrmRegister.resx"
new file mode 100644
index 0000000..fc1b8ab
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/FrmRegister.resx"
@@ -0,0 +1,129 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <metadata name="timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>139, 17</value>
+ </metadata>
+ <metadata name="timer3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>261, 17</value>
+ </metadata>
+</root>
\ No newline at end of file
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/MyOpaqueLayer.cs" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/MyOpaqueLayer.cs"
new file mode 100644
index 0000000..1f320fe
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/MyOpaqueLayer.cs"
@@ -0,0 +1,138 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FaceSdkX64Register
+{
+ [ToolboxBitmap(typeof(MyOpaqueLayer))]
+ public class MyOpaqueLayer : System.Windows.Forms.Control
+ {
+ private bool _transparentBG = true;//鏄惁浣跨敤閫忔槑
+ private int _alpha = 125;//璁剧疆閫忔槑搴�
+
+ private System.ComponentModel.Container components = new System.ComponentModel.Container();
+
+ public MyOpaqueLayer()
+ : this(125, true)
+ {
+ }
+
+ public MyOpaqueLayer(int Alpha, bool IsShowLoadingImage)
+ {
+ SetStyle(System.Windows.Forms.ControlStyles.Opaque, true);
+ base.CreateControl();
+
+ this._alpha = Alpha;
+ if (IsShowLoadingImage)
+ {
+ //Image.FromFile(@"C:\Users\Administrator\Desktop\5-121204193R0-50.gif");
+ PictureBox pictureBox_Loading = new PictureBox();
+ //pictureBox_Loading.BackColor = Color.Transparent;
+ //pictureBox_Loading.BackColor = System.Drawing.Color.White;
+
+ Image image = Image.FromStream(new MemoryStream(Properties.Resources.LoadingImg));//v1.10
+
+ pictureBox_Loading.Image = image;
+ pictureBox_Loading.Name = "pictureBox_Loading";
+ pictureBox_Loading.Size = new System.Drawing.Size(48, 48);
+ pictureBox_Loading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ Point Location = new Point(this.Location.X + (this.Width - pictureBox_Loading.Width) / 2, this.Location.Y + (this.Height - pictureBox_Loading.Height) / 2);//灞呬腑
+ pictureBox_Loading.Location = Location;
+ pictureBox_Loading.Anchor = AnchorStyles.None;
+ this.Controls.Add(pictureBox_Loading);
+ }
+ }
+
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ if (!((components == null)))
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose(disposing);
+ }
+
+ /// <summary>
+ /// 鑷畾涔夌粯鍒剁獥浣�
+ /// </summary>
+ /// <param name="e"></param>
+ protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
+ {
+ float vlblControlWidth;
+ float vlblControlHeight;
+
+ Pen labelBorderPen;
+ SolidBrush labelBackColorBrush;
+
+ if (_transparentBG)
+ {
+ //v1.10
+
+ Color drawColor = Color.FromArgb(125, 0, 0, 1); //Color.FromArgb(this._alpha, this.BackColor);
+ labelBorderPen = new Pen(drawColor, 0);
+ labelBackColorBrush = new SolidBrush(drawColor);
+ }
+ else
+ {
+ labelBorderPen = new Pen(this.BackColor, 0);
+ labelBackColorBrush = new SolidBrush(this.BackColor);
+ }
+ base.OnPaint(e);
+ vlblControlWidth = this.Size.Width;
+ vlblControlHeight = this.Size.Height;
+ e.Graphics.DrawRectangle(labelBorderPen, 0, 0, vlblControlWidth, vlblControlHeight);
+ e.Graphics.FillRectangle(labelBackColorBrush, 0, 0, vlblControlWidth, vlblControlHeight);
+ }
+
+
+ protected override CreateParams CreateParams//v1.10
+ {
+ get
+ {
+ CreateParams cp = base.CreateParams;
+ cp.ExStyle |= 0x00000020; //0x20; // 寮�鍚� WS_EX_TRANSPARENT,浣挎帶浠舵敮鎸侀�忔槑
+ return cp;
+ }
+ }
+
+ /*
+ * [Category("myOpaqueLayer"), Description("鏄惁浣跨敤閫忔槑,榛樿涓篢rue")]
+ * 涓�鑸敤浜庤鏄庝綘鑷畾涔夋帶浠剁殑灞炴�э紙Property锛夈��
+ * Category鐢ㄤ簬璇存槑璇ュ睘鎬у睘浜庡摢涓垎绫伙紝Description鑷劧灏辨槸璇ュ睘鎬х殑鍚箟瑙i噴銆�
+ */
+ [Category("MyOpaqueLayer"), Description("鏄惁浣跨敤閫忔槑,榛樿涓篢rue")]
+ public bool TransparentBG
+ {
+ get
+ {
+ return _transparentBG;
+ }
+ set
+ {
+ _transparentBG = value;
+ this.Invalidate();
+ }
+ }
+
+ [Category("MyOpaqueLayer"), Description("璁剧疆閫忔槑搴�")]
+ public int Alpha
+ {
+ get
+ {
+ return _alpha;
+ }
+ set
+ {
+ _alpha = value;
+ this.Invalidate();
+ }
+ }
+ }
+}
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/OpaqueCommand.cs" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/OpaqueCommand.cs"
new file mode 100644
index 0000000..e295c43
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/OpaqueCommand.cs"
@@ -0,0 +1,55 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FaceSdkX64Register
+{
+ public class OpaqueCommand
+ {
+ private MyOpaqueLayer m_OpaqueLayer = null;//鍗婇�忔槑钂欐澘灞�
+
+ /// <summary>
+ /// 鏄剧ず閬僵灞�
+ /// </summary>
+ /// <param name="control">鎺т欢</param>
+ /// <param name="alpha">閫忔槑搴�</param>
+ /// <param name="isShowLoadingImage">鏄惁鏄剧ず鍥炬爣</param>
+ public void ShowOpaqueLayer(Control control, int alpha, bool isShowLoadingImage = true)
+ {
+ try
+ {
+ if (m_OpaqueLayer == null)
+ {
+ this.m_OpaqueLayer = new MyOpaqueLayer(alpha, isShowLoadingImage);
+ control.Controls.Add(this.m_OpaqueLayer);
+ this.m_OpaqueLayer.Dock = DockStyle.Fill;
+ this.m_OpaqueLayer.BringToFront();
+ }
+ this.m_OpaqueLayer.Enabled = true;
+ this.m_OpaqueLayer.Visible = true;
+ }
+ catch(Exception ex) { }
+ }
+
+ /// <summary>
+ /// 闅愯棌閬僵灞�
+ /// </summary>
+ public void HideOpaqueLayer()
+ {
+ try
+ {
+ if (this.m_OpaqueLayer != null)
+ {
+ this.m_OpaqueLayer.Visible = false;
+ this.m_OpaqueLayer.Enabled = false;
+ }
+ }
+ catch (Exception ex)
+ {
+ //MessageBox.Show(ex.Message);
+ }
+ }
+ }
+}
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Program.cs" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Program.cs"
new file mode 100644
index 0000000..808c078
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Program.cs"
@@ -0,0 +1,17 @@
+namespace FaceSdkX64Register
+{
+ internal static class Program
+ {
+ /// <summary>
+ /// The main entry point for the application.
+ /// </summary>
+ [STAThread]
+ static void Main()
+ {
+ // To customize application configuration such as set high DPI settings or default font,
+ // see https://aka.ms/applicationconfiguration.
+ ApplicationConfiguration.Initialize();
+ Application.Run(new FrmRegister());
+ }
+ }
+}
\ No newline at end of file
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Properties/LoadingImg.gif" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Properties/LoadingImg.gif"
new file mode 100644
index 0000000..915c198
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Properties/LoadingImg.gif"
Binary files differ
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Properties/Resources.Designer.cs" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Properties/Resources.Designer.cs"
new file mode 100644
index 0000000..390d288
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Properties/Resources.Designer.cs"
@@ -0,0 +1,73 @@
+锘�//------------------------------------------------------------------------------
+// <auto-generated>
+// 姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
+// 杩愯鏃剁増鏈�:4.0.30319.42000
+//
+// 瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
+// 閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便��
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace FaceSdkX64Register.Properties {
+ using System;
+
+
+ /// <summary>
+ /// 涓�涓己绫诲瀷鐨勮祫婧愮被锛岀敤浜庢煡鎵炬湰鍦板寲鐨勫瓧绗︿覆绛夈��
+ /// </summary>
+ // 姝ょ被鏄敱 StronglyTypedResourceBuilder
+ // 绫婚�氳繃绫讳技浜� ResGen 鎴� Visual Studio 鐨勫伐鍏疯嚜鍔ㄧ敓鎴愮殑銆�
+ // 鑻ヨ娣诲姞鎴栫Щ闄ゆ垚鍛橈紝璇风紪杈� .ResX 鏂囦欢锛岀劧鍚庨噸鏂拌繍琛� ResGen
+ // (浠� /str 浣滀负鍛戒护閫夐」)锛屾垨閲嶆柊鐢熸垚 VS 椤圭洰銆�
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ public class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ /// <summary>
+ /// 杩斿洖姝ょ被浣跨敤鐨勭紦瀛樼殑 ResourceManager 瀹炰緥銆�
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FaceSdkX64Register.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ /// <summary>
+ /// 閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�э紝瀵�
+ /// 浣跨敤姝ゅ己绫诲瀷璧勬簮绫荤殑鎵�鏈夎祫婧愭煡鎵炬墽琛岄噸鍐欍��
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ /// <summary>
+ /// 鏌ユ壘 System.Byte[] 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+ /// </summary>
+ public static byte[] LoadingImg {
+ get {
+ object obj = ResourceManager.GetObject("LoadingImg", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+ }
+}
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Properties/Resources.resx" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Properties/Resources.resx"
new file mode 100644
index 0000000..6ccff94
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Register/Properties/Resources.resx"
@@ -0,0 +1,124 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="LoadingImg" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>LoadingImg.gif;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/CHS_Capture.cs" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/CHS_Capture.cs"
new file mode 100644
index 0000000..ee830eb
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/CHS_Capture.cs"
@@ -0,0 +1,49 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FaceSdkX64Service
+{
+ // 鐩告満鍙栧抚鍙婂抚鍥捐薄鏄剧ず缁勪欢
+ public class CHS_Capture
+ {
+ // 杩斿洖鐩告満涓暟
+ [DllImport("SmCameraPreview.dll", EntryPoint = "SmCameraGetCount", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern int SmCameraGetCount();
+
+ // 鎵撳紑鐩告満锛堟牴鎹浉鏈虹储寮曞彿 nDeviceId锛�
+ [DllImport("SmCameraPreview.dll", EntryPoint = "SmCameraOpen", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern IntPtr SmCameraOpen(int nDeviceId, int nWidth, int nHeight);
+
+ // 鎵撳紑鐩告満锛堟牴鎹浉鏈篤ID+PIC锛�
+ [DllImport("SmCameraPreview.dll", EntryPoint = "SmCameraOpenEx", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern IntPtr SmCameraOpenEx(int nVid, int nPid, int nWidth, int nHeight);
+
+ // 浠庢墦寮�鐨勭浉鏈烘彁鍙栦竴甯ц棰戞暟鎹�
+ [DllImport("SmCameraPreview.dll", EntryPoint = "SmCameraGetFrame", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern int SmCameraGetFrame(IntPtr hCamera, IntPtr pFrameBuf, int bMirror, int bFlip);
+
+ // 鍏抽棴鐩告満
+ [DllImport("SmCameraPreview.dll", EntryPoint = "SmCameraClose", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern void SmCameraClose(IntPtr hCamera);
+
+ // 鍒涘缓瑙嗛甯ф樉绀哄璞★紙nWidth * nHeight 涓鸿棰戝抚鐨勫垎杈ㄧ巼锛宧Wnd 涓烘樉绀虹獥鍙e彞鏌勶級
+ [DllImport("SmCameraPreview.dll", EntryPoint = "SmCameraPreviewCreate", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern IntPtr SmCameraPreviewCreate(int nWidth, int nHeight, IntPtr hWND);
+
+ // 鏄剧ず瑙嗛甯�
+ [DllImport("SmCameraPreview.dll", EntryPoint = "SmCameraPreview", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern void SmCameraPreview(IntPtr hCameraPreview, IntPtr pFrame);
+
+ // 鏄剧ず瑙嗛甯у強浜鸿劯妗嗭紙weight涓鸿竟妗嗙殑鍘氬害锛�
+ [DllImport("SmCameraPreview.dll", EntryPoint = "SmCameraPreviewFace", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern void SmCameraPreviewFace(IntPtr hCameraPreview, IntPtr pFrame, int left, int top, int right, int bottom, int weight, int color);
+
+ // 閲婃斁瑙嗛甯ф樉绀哄璞�
+ [DllImport("SmCameraPreview.dll", EntryPoint = "SmCameraPreviewDestroy", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern void SmCameraPreviewDestroy(IntPtr hCameraPreivew);
+ }
+}
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/ConfigHelper.cs" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/ConfigHelper.cs"
new file mode 100644
index 0000000..b4ac3e4
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/ConfigHelper.cs"
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FaceSdkX64Service
+{
+ public class ConfigHelper
+ {
+ [DllImport("kernel32.dll", EntryPoint = "GetPrivateProfileString", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern long GetPrivateProfileString(string section, string key, string defval, StringBuilder value, int size, string filename);
+ }
+}
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/FaceSdkX64Service.csproj" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/FaceSdkX64Service.csproj"
new file mode 100644
index 0000000..132c02c
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/FaceSdkX64Service.csproj"
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <TargetFramework>net6.0</TargetFramework>
+ <ImplicitUsings>enable</ImplicitUsings>
+ <Nullable>enable</Nullable>
+ </PropertyGroup>
+
+</Project>
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/HttpServer.cs" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/HttpServer.cs"
new file mode 100644
index 0000000..7f13da3
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/HttpServer.cs"
@@ -0,0 +1,86 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Text;
+using System.Threading.Tasks;
+using static FaceSdkX64Service.TH_Faces;
+
+namespace FaceSdkX64Service
+{
+ public class HttpServer
+ {
+ private string ImgPath = string.Empty;
+
+ HttpListener listener;
+
+ public HttpServer(int port, string imgPath)
+ {
+ ImgPath = imgPath;
+
+ listener = new HttpListener();
+ listener.Prefixes.Add($"http://+:{port}/");
+ listener.Start();
+
+ HttpListenerContext httpListenerContext = listener.GetContext();
+
+ GetConnect(httpListenerContext);
+
+ listener.Stop(); //鍏抽棴HttpListener
+ }
+
+ private void GetConnect(HttpListenerContext context)
+ {
+ try
+ {
+ // 绛夊緟瀹㈡埛绔繛鎺�
+ if (!context.Request.IsWebSocketRequest)
+ {
+ if (context == null) return;
+ var request = context.Request;
+ var response = context.Response;
+
+ response.StatusCode = 200;
+ response.ContentType = "text/plain; charset=utf-8";
+ response.Headers.Add("Access-Control-Allow-Origin", "*"); // 鍏佽璺ㄥ煙璁块棶
+
+ using (var stream = response.OutputStream)
+ {
+
+ // 鎶婂鐞嗕俊鎭繑鍥炲埌瀹㈡埛绔�
+ if (string.IsNullOrEmpty(ImgPath))
+ {
+ stream.Write(new byte[0], 0, 0);
+ }
+ else
+ {
+ string base64 = ImageToBase64(ImgPath); // 灏嗗浘鐗囪浆鎹负Base64瀛楃涓�
+ byte[] buffer = Encoding.UTF8.GetBytes(base64);
+ stream.Write(buffer, 0, buffer.Length);
+ }
+
+ }
+
+ }
+
+ }
+ catch (Exception ex)
+ {
+ }
+
+ }
+
+ private string ImageToBase64(string imagePath)
+ {
+ try
+ {
+ byte[] imageBytes = System.IO.File.ReadAllBytes(imagePath);
+ return Convert.ToBase64String(imageBytes);
+ }
+ catch (Exception ex)
+ {
+ return string.Empty;
+ }
+ }
+ }
+}
diff --git "a/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/TH_Faces.cs" "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/TH_Faces.cs"
new file mode 100644
index 0000000..2c06110
--- /dev/null
+++ "b/project/\344\272\272\350\204\270\350\257\206\345\210\253\346\217\222\344\273\266/FaceSdkX64/FaceSdkX64Service/TH_Faces.cs"
@@ -0,0 +1,210 @@
+锘縰sing System.Runtime.InteropServices;
+
+namespace FaceSdkX64Service
+{
+ public class TH_Faces // 浜鸿劯妫�娴嬪強璇嗗埆SDK鎺ュ彛锛屽彲鍙傝 IdFaceSdk.h锛堝唴鍚墍鏈夋帴鍙g殑鍔熻兘銆佸弬鏁般�佽繑鍥炲�肩殑鍏蜂綋鎻忚堪锛�
+ {
+ #region 缁撴瀯浣撳畾涔�
+
+ public struct RECT
+ {
+ public Int32 left;
+ public Int32 top;
+ public Int32 right;
+ public Int32 bottom;
+ };
+
+ public struct POINT
+ {
+ public Int32 x;
+ public Int32 y;
+ };
+
+ // 浜鸿劯妫�娴嬭繑鍥炵殑浜鸿劯鍧愭爣鍙傛暟
+ public struct FACE_DETECT_RESULT
+ {
+ public RECT rcFace;//coordinate of face
+ public POINT ptLeftEye;//coordinate of left eye
+ public POINT ptRightEye;//coordinate of right eye
+ public POINT ptMouth;//coordinate of mouth
+ public POINT ptNose;//coordinate of nose
+ public Int32 nAngleYaw, nAnglePitch, nAngleRoll;//value of face angle
+ public Int32 nQuality;//quality of face(from 0 to 100)
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 512)]
+ public Byte[] FaceData;
+ };
+
+ // 浜鸿劯璐ㄩ噺妫�娴嬭繑鍥炵殑浜鸿劯璐ㄩ噺鍙傛暟
+ public struct FACE_QUALITY_LEVEL
+ {
+ public Int32 nHalf; // 浜鸿劯瀹屾暣鎬�: 0-姝e父锛�1-浜鸿劯涓嶅お瀹屾暣锛�2-浜鸿劯闈炲父涓嶅畬鏁�
+ public Int32 nSmall; // 浜鸿劯澶у皬锛�0-姝e父锛�1-浜鸿劯杈冨皬锛�2-浜鸿劯澶皬
+ public Int32 nPosture; // 濮挎�侊細0-姝e父锛�1-鍋忓ご杈冨锛�2-鍋忓ご澶
+ public Int32 nMask; // 鑴搁儴閬尅: 0-姝e父锛�1-浜鸿劯鏈夐伄鎸★紝2-浜鸿劯閬尅澶
+ public Int32 nFaceMask; // 鍙g僵锛�0-姝e父锛�1-鏈夋埓鍙g僵锛�2-纭鎴村彛缃�
+ public Int32 nHat; // 甯藉瓙锛�0-姝e父锛�1-鏈夋埓甯斤紝2-甯藉瓙閬尅鑴搁儴
+ public Int32 nGlasses; // 鐪奸暅: 0-姝e父锛�1-鏈夋埓鐪奸暅锛�2-纭鎴寸溂闀�
+ public Int32 nGape; // 寮犲槾: 0-姝e父锛�1-寮犲槾锛�2-寮犲ぇ鍢�
+ public Int32 nBlur; // 妯$硦搴︼細0-姝e父锛�1-杈冩ā绯婏紝2-澶ā绯�
+ public Int32 nBright; // 鑴搁儴鏇濆厜搴︼細0-姝e父锛�1-澶殫锛�2-杩囩垎
+ public Int32 nLight; // 鍏夋簮鏂瑰悜: 0-姝e父锛�1-渚у厜锛�2-椤跺厜, 3-閫嗗厜
+ };
+
+ #endregion
+
+ #region 鍒濆鍖栧強鍩烘湰鍔熻兘
+
+ // 杩斿洖SDK鐗堟湰鍙凤紙闅忔椂鍙皟鐢級
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkVer", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkVer();
+
+ // 杩斿洖璁惧杩愯鐮�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkGetRunCode", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkGetRunCode([Out] IntPtr pStrRunCode);
+
+ // SDK鍒濆鍖栵紝鎴愬姛杩斿洖0锛堝悗闈㈤櫎杈呭姪鎺ュ彛澶栫殑鎵�鏈夊姛鑳芥帴鍙i兘蹇呴』鏄疭DK鍒濆鍖栨垚鍔熷悗鎵嶆湁鐢級
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkInit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkInit();
+
+ // SDK鍙嶅垵濮嬪寲锛堝悗闈㈤櫎杈呭姪鎺ュ彛澶栫殑鎵�鏈夊姛鑳芥帴鍙e湪璋冪敤鍙嶅垵濮嬪寲鍚庡潎涓嶅彲鐢紝闄ら潪鍐嶆鍒濆鍖栵級
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkUninit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern void IdFaceSdkUninit();
+
+ // 璁剧疆妫�娴嬪ぇ灏忥紙閽堝楂樺垎杈ㄧ巼涓斾汉鑴稿崰姣旇緝灏忔椂璁剧疆妫�娴嬪ぇ灏忥紝閫氬父涓嶅繀璋冪敤锛�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkSetDetectSize", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern void IdFaceSdkSetDetectSize(Int32 nDetectSize);
+
+ // 杩斿洖鐗瑰緛鐮佸ぇ灏�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkFeatureSize", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkFeatureSize();
+
+ // 杩斿洖褰撳墠鐨勬巿鏉冩槸鍚︽敮鎸佹椿浣撴娴�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkGetLiveFaceStatus", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkGetLiveFaceStatus();
+
+ #endregion
+
+ #region 鍗曚汉鑴告娴�
+
+ // 妫�娴嬫渶澶т汉鑴�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkDetectFace", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkDetectFace(IntPtr pImage, Int32 nWidth, Int32 nHeight, ref FACE_DETECT_RESULT Face);
+
+ #endregion
+
+ #region 澶氫汉鑴告娴嬪苟鎻愬彇鐗瑰緛
+
+ // 妫�娴嬪浜鸿劯鍚屾椂鎻愬彇鍚勪汉鑴哥殑鐗瑰緛锛坣MaxFace 琛ㄧず鏈�澶氳妫�娴嬬殑浜鸿劯涓暟锛孎aces 蹇呴』鎸夋渶澶т汉鑴镐釜鏁板垎閰嶄汉鑴稿潗鏍囩┖闂达紝 pFeatures 蹇呴』鎸夋渶澶т汉鑴镐釜鏁板垎閰嶇壒寰佺爜绌洪棿锛宲Features 鍙傛暟浼� 0 鏃跺垯鍙娴嬩汉鑴镐笉鎻愮壒寰侊級
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkFaceFeature", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkFaceFeature(IntPtr pImage, Int32 nWidth, Int32 nHeight, Int32 nMaxFace, [Out] FACE_DETECT_RESULT[] Faces, [Out] IntPtr pFeatures);
+
+ #endregion
+
+ #region 浜鸿劯璐ㄩ噺妫�娴�
+
+ // 妫�娴嬩汉鑴歌川閲忥紙闇�杈撳叆浜鸿劯妫�娴嬭繑鍥炵殑浜鸿劯鍧愭爣锛�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkFaceQualityLevel", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkFaceQualityLevel(IntPtr pImage, Int32 nWidth, Int32 nHeight, ref FACE_DETECT_RESULT Face, ref FACE_QUALITY_LEVEL FaceQualityLevel);
+
+ #endregion
+
+ #region SDK鐗瑰緛鎻愬彇
+
+ // 鎻愬彇浜鸿劯鐗瑰緛锛堥渶杈撳叆浜鸿劯妫�娴嬭繑鍥炵殑浜鸿劯鍧愭爣锛宲Feature闇�鍒嗛厤涓嶅皬浜庝竴涓汉鑴哥壒寰佺殑绌洪棿锛�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkFeatureGet", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkFeatureGet(IntPtr pImage, Int32 nWidth, Int32 nHeight, ref FACE_DETECT_RESULT Face, [Out] IntPtr pFeature);
+
+ #endregion
+
+ #region 涓�瀵逛竴姣斿锛�1:1锛屽鐢ㄤ簬浜鸿瘉鏍搁獙锛�
+
+ // 涓や釜浜鸿劯鐗瑰緛姣斿鍑虹浉浼煎害
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkFeatureCompare", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Byte IdFaceSdkFeatureCompare(IntPtr pFeature1, IntPtr pFeature2);
+
+ #endregion
+
+ #region 涓�瀵瑰姣斿锛�1:N锛屽鐢ㄤ簬鏈嶅姟鍣ㄨ瘑鍒級
+
+ // 鍒涘缓涓�瀵瑰浜鸿劯姣斿鍒楄〃
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkListCreate", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern IntPtr IdFaceSdkListCreate(Int32 nMaxFeatureNum);
+
+ // 鍚戜汉鑴告瘮瀵瑰垪琛ㄤ腑澧炲姞/鎻掑叆妯℃澘鐨勪汉鑴哥壒寰�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkListInsert", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkListInsert(IntPtr hList, [In, Out] ref Int32 nPos, IntPtr pFeatures, Int32 nFeatureNum);
+
+ // 浠庝汉鑴告瘮瀵瑰垪琛ㄤ腑鍒犻櫎閮ㄥ垎浜鸿劯鐗瑰緛
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkListRemove", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkListRemove(IntPtr hList, Int32 nPos, Int32 nFeatureNum);
+
+ // 娓呯┖浜鸿劯姣斿鍒楄〃涓殑鎵�鏈変汉鑴哥壒寰�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkListClearAll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern void IdFaceSdkListClearAll(IntPtr hList);
+
+ // 涓�瀵瑰浜鸿劯姣斿锛岃繑鍥炲弬涓庢瘮瀵圭殑鐗瑰緛鏁帮紝pnScores 闇�鍒嗛厤涓嶅皬浜庢ā鏉跨壒寰佹暟鐨勭┖闂达紝璋冪敤鍚庡皢杈撳嚭涓庢瘡涓ā鏉跨壒寰佹瘮瀵圭殑缁撴灉锛堢壒寰佺浉浼煎害锛�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkListCompare", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkListCompare(IntPtr hList, IntPtr pFeature, Int32 nPosBegin, Int32 nFeatureNum, [Out] IntPtr pnScores);
+
+ // 閿�姣佷竴瀵瑰鐗瑰緛姣斿鍒楄〃
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkListDestroy", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern void IdFaceSdkListDestroy(IntPtr hList);
+
+ #endregion
+
+ #region 娲讳綋妫�娴�
+
+ // 娲讳綋妫�娴嬶紙杩斿洖1琛ㄧず娲讳綋锛夛紝闇�浼犲叆浜鸿劯妫�娴嬭繑鍥炵殑浜鸿劯鍧愭爣锛宲ImageColor 涓� pImageBW 鍧囨湁鏁堝垯杩涜鍙岀洰娲讳綋妫�娴嬶紝濡� pImageBW 涓� 0 鍒欒繘琛屽僵鑹插崟鐩椿浣撴娴嬶紝pImageColor 涓� 0 鍒欒繘琛岀孩澶栧弻鐩椿浣撴娴�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkLiveFaceDetect", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkLiveFaceDetect(Int32 nWidth, Int32 nHeight, IntPtr pImageColor, ref FACE_DETECT_RESULT FaceColor, IntPtr pImageBW, ref FACE_DETECT_RESULT FaceBW);
+
+ // 娲讳綋妫�娴嬪苟杈撳嚭娲绘鍒嗘暟锛堝彲鏍规嵁娲绘鍒嗘暟鏄惁杈惧埌闃堝�煎垽鍒槸鍚︿负娲讳綋锛夛紝闇�浼犲叆浜鸿劯妫�娴嬭繑鍥炵殑浜鸿劯鍧愭爣锛宲ImageColor 涓� pImageBW 鍧囨湁鏁堝垯杩涜鍙岀洰娲讳綋妫�娴嬶紝濡� pImageBW 涓� 0 鍒欒繘琛屽僵鑹插崟鐩椿浣撴娴嬶紝pImageColor 涓� 0 鍒欒繘琛岀孩澶栧弻鐩椿浣撴娴�
+ [DllImport("IdFaceSdk.dll", EntryPoint = "IdFaceSdkLiveFaceDetectEx", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 IdFaceSdkLiveFaceDetectEx(Int32 nWidth, Int32 nHeight, IntPtr pImageColor, ref FACE_DETECT_RESULT FaceColor, IntPtr pImageBW, ref FACE_DETECT_RESULT FaceBW, ref Int32 nScore);
+
+ #endregion
+
+ #region 杈呭姪鎺ュ彛
+
+ // 璇诲浘璞℃枃浠跺埌RGB24鍥捐薄鏁版嵁缂撳啿鍖猴紝鏀寔BMP銆丣PG銆丳NG鍥捐薄鏂囦欢锛宲RgbBuf 蹇呴』鍒嗛厤瓒冲鐨勭紦鍐插尯锛堜笉灏忎簬 nWidth * nHeight * 3锛�,濡備笉鐭ラ亾鍥捐薄鍒嗚鲸鐜囧彲灏嗘鍙傛暟浼� 0 鍒欐湰娆¤皟鐢ㄥ彧杩斿洖鍥捐薄鍒嗚鲸鐜囷紝鐒跺悗鍒嗛厤瓒冲鐨勭紦鍐插尯鍐嶆璋冪敤璇诲嚭鍥捐薄鏁版嵁
+ [DllImport("IdFaceSdk.dll", EntryPoint = "ReadImageFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 ReadImageFile(IntPtr filename, [Out] IntPtr pRgbBuf, Int32 nBufSize, ref Int32 nWidth, ref Int32 nHeight, Int32 nDepth);
+
+ // 璇诲浘璞℃枃浠舵暟鎹埌RGB鍥捐薄鏁版嵁缂撳啿鍖猴紝鏀寔BMP銆丣PG銆丳NG鍥捐薄鏂囦欢锛宲RgbBuf 蹇呴』鍒嗛厤瓒冲鐨勭紦鍐插尯锛堜笉灏忎簬 nWidth * nHeight * 3锛�,濡備笉鐭ラ亾鍥捐薄鍒嗚鲸鐜囧彲灏嗘鍙傛暟浼� 0 鍒欐湰娆¤皟鐢ㄥ彧杩斿洖鍥捐薄鍒嗚鲸鐜囷紝鐒跺悗鍒嗛厤瓒冲鐨勭紦鍐插尯鍐嶆璋冪敤璇诲嚭鍥捐薄鏁版嵁
+ [DllImport("IdFaceSdk.dll", EntryPoint = "ReadImageFileData", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 ReadImageFileData(IntPtr pFileData, Int32 nFileDataSize, [Out] IntPtr pRgbBuf, Int32 nBufSize, ref Int32 nWidth, ref Int32 nHeight, Int32 nDepth);
+
+ // 鏃嬭浆RGB24鍥捐薄鏁版嵁锛宯Degree涓烘棆杞搴︼紙鏀寔0銆�90銆�180銆�270锛夛紝nMirror涓�0琛ㄧず涓嶉暅璞★紝涓�1琛ㄧず宸﹀彸闀滆薄
+ [DllImport("IdFaceSdk.dll", EntryPoint = "RotateRgb24Data", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 RotateRgb24Data(IntPtr pSrc, Int32 nWidth, Int32 nHeight, Int32 nDegree, Int32 nMirror, [Out] IntPtr pDst);
+
+ // 浠嶳GB24鍥捐薄鏁版嵁瑁佸壀鍑哄皬鍥�
+ // 杈撳叆鍙傛暟锛�
+ // pSrc ---- 鍘熷浘鏁版嵁锛圧GB24鏍煎紡锛�
+ // nSrcWidth ---- 鍘熷浘瀹藉害
+ // nSrcHeight ---- 鍘熷浘楂樺害
+ // nLeft ---- 瑁佸壀鍖哄煙宸︿笂瑙扻鍧愭爣
+ // nTop ---- 瑁佸壀鍖哄煙宸︿笂瑙扽鍧愭爣
+ // nWidth ---- 瑁佸壀鍖哄煙瀹藉害
+ // nHeight ---- 瑁佸壀鍖哄煙楂樺害
+ // nRate ---- 瑁佸壀鍥捐薄缂╁皬鍊嶆暟锛�0-涓嶇缉灏忥紝1-瀹介珮缂╁皬鑷冲師鏉ョ殑1/2锛�2-瀹介珮缂╁皬鑷冲師鏉ョ殑1/3锛�...锛�
+ // 杈撳嚭鍙傛暟锛�
+ // pDst ---- 灏忓浘鏁版嵁(RGB24鏍煎紡锛岃皟鐢ㄥ墠闇�鍒嗘瀽瓒冲鐨勭紦鍐插尯)
+ // 杩斿洖鍊硷細
+ // 0 ---- 鎴愬姛
+ // -1 ---- 鍙傛暟閿欒
+ // 澶囨敞锛氳鍓悗鐨勫浘璞″垎杈ㄧ巼涓猴細瀹藉害 = nWidth / (nRate + 1), 楂樺害 = nHeight / (nRate + 1)
+ [DllImport("IdFaceSdk.dll", EntryPoint = "CropImage", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 CropImage(IntPtr pSrc, Int32 nSrcWidth, Int32 nSrcHeight, [Out] IntPtr pDst, int nLeft, int nTop, int nWidth, int nHeight, int nRate);
+
+ // 灏哛GB24鍥捐薄鏁版嵁淇濆瓨涓篔PEG鏂囦欢
+ [DllImport("IdFaceSdk.dll", EntryPoint = "SaveJpegFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 SaveJpegFile(IntPtr filename, IntPtr pRgbData, Int32 nWidth, Int32 nHeight, Int32 nDepth, Int32 nQuality);
+
+ // 灏哛GB24鍥捐薄鏁版嵁淇濆瓨涓篔PEG鏂囦欢鏁版嵁
+ [DllImport("IdFaceSdk.dll", EntryPoint = "SaveJpegFileData", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ public static extern Int32 SaveJpegFileData(IntPtr pRgbData, Int32 nWidth, Int32 nHeight, Int32 nDepth, Int32 nQuality, [Out] IntPtr pFileDataBuf, Int32 nBufSize, ref Int32 nFileDataSize);
+
+ #endregion
+ }
+}
--
Gitblit v1.9.3