添加项目文件。
This commit is contained in:
parent
458f937646
commit
be31f2688f
44
App.config
Normal file
44
App.config
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||||
|
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup>
|
||||||
|
<appSettings>
|
||||||
|
<!-- 当前显示 1 超声 2病理-->
|
||||||
|
<add key="type" value="1"/>
|
||||||
|
<!-- 请求接口地址 https://pacs.gw12320.com/admin http://114.55.171.231:48080-->
|
||||||
|
<add key="URL" value="http://114.55.171.231:48080"/>
|
||||||
|
<!--上传前缀 也就是图片或者视频的访问地址 /video-->
|
||||||
|
<add key="path" value="/video"/>
|
||||||
|
<!--FTP -->
|
||||||
|
<add key="ftppath" value="ftp://114.55.171.231:21/"/>
|
||||||
|
<add key="username" value="pacs"/>
|
||||||
|
<add key="password" value="pacs"/>
|
||||||
|
<add key="path1" value=""/>
|
||||||
|
|
||||||
|
<!--当前上传文件模式 0:接口 1:FTP -->
|
||||||
|
<add key="model" value="0"/>
|
||||||
|
<!--接口模式上传文件存放路径 D:\FLYPACS\ftp C:\work\pacs -->
|
||||||
|
<add key="filepath" value="C:\work\pacs"/>
|
||||||
|
|
||||||
|
<!--病理截图存放路径 -->
|
||||||
|
<add key="blpath" value="D:\工作\病理截图"/>
|
||||||
|
<!--病理截图快捷键 -->
|
||||||
|
<add key="strkey" value="B"/>
|
||||||
|
<!--病理文件访问前缀-->
|
||||||
|
<add key="blprefix" value="https://114.55.171.231:48082/"/>
|
||||||
|
<!--区域截图设置默认值-->
|
||||||
|
<add key="xywh" value="0,10,200,200"/>
|
||||||
|
|
||||||
|
<!--医院名称 新增患者需要 5fd5a125-89a8-bbf7-5b4f-bec7467074c2-->
|
||||||
|
<add key="yymc" value="土贵乌拉乡卫生院"/>
|
||||||
|
<add key="yycode" value="5fd5a125-89a8-bbf7-5b4f-bec7467074c2"/>
|
||||||
|
|
||||||
|
<!--HIS获取患者相关-->
|
||||||
|
<add key="hisGetTokenUrl" value="https://wlcbhis.gw12320.com:8443/his/web/api/pacs/getPacsToken"/>
|
||||||
|
<add key="hisGetDataUrl" value="https://wlcbhis.gw12320.com:8443/his/web/api/pacs/getpacsdata"/>
|
||||||
|
<add key="inHisCode" value="150926461008697"/>
|
||||||
|
<add key="hisAppkey" value="7653571505643966826"/>
|
||||||
|
<add key="appsecret" value="z8SVG1NBFY9d74LM"/>
|
||||||
|
</appSettings>
|
||||||
|
</configuration>
|
27
ExamRecord.cs
Normal file
27
ExamRecord.cs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
internal class ExamRecord
|
||||||
|
{
|
||||||
|
public string examId { get; set; }
|
||||||
|
public string pname { get; set; }
|
||||||
|
public string gender { get; set; }
|
||||||
|
public string birthday { get; set; }
|
||||||
|
public string deviceType { get; set; }
|
||||||
|
public string deviceName { get; set; }
|
||||||
|
public string seDc { get; set; }
|
||||||
|
public string examDate { get; set; }
|
||||||
|
public string examItemCode { get; set; }
|
||||||
|
public string examItemName { get; set; }
|
||||||
|
public string reportstatus { get; set; }
|
||||||
|
public string applicationDate { get; set; }
|
||||||
|
public string orgId { get; set; }
|
||||||
|
public string orgName { get; set; }
|
||||||
|
public string regId { get; set; }
|
||||||
|
}
|
||||||
|
}
|
13
ExamRecords.cs
Normal file
13
ExamRecords.cs
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
internal class ExamRecords
|
||||||
|
{
|
||||||
|
public List<ExamRecord> Records { get; set; }
|
||||||
|
}
|
||||||
|
}
|
46
FlyHisEcgdataModel.cs
Normal file
46
FlyHisEcgdataModel.cs
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
public class FlyHisEcgDataModel
|
||||||
|
{
|
||||||
|
public int total { get; set; }
|
||||||
|
public List<patientInfo> rows { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class patientInfo
|
||||||
|
{
|
||||||
|
public string jianchaid { get; set; }
|
||||||
|
public string jianchabh { get; set; }
|
||||||
|
public string name { get; set; }
|
||||||
|
public string sfz { get; set; }
|
||||||
|
public string birthdate { get; set; }
|
||||||
|
public int age { get; set; }
|
||||||
|
public string sex { get; set; }
|
||||||
|
public string yiyuanname { get; set; }
|
||||||
|
public string yiyuanid { get; set; }
|
||||||
|
public string yiyuancode { get; set; }
|
||||||
|
public string kaifangsj { get; set; }
|
||||||
|
public string departmentCode { get; set; }
|
||||||
|
public string departmentName { get; set; }
|
||||||
|
public string resDoctorName { get; set; }
|
||||||
|
public string resDoctorCode { get; set; }
|
||||||
|
public string nation { get; set; }
|
||||||
|
public string patientCode { get; set; }
|
||||||
|
public string visitType { get; set; }
|
||||||
|
public List<projectsInfo> projects { get; set; }
|
||||||
|
public int code { get; set; }
|
||||||
|
public string msg { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class projectsInfo
|
||||||
|
{
|
||||||
|
public string jianchamingcheng { get; set; }
|
||||||
|
public string nhbm { get; set; }
|
||||||
|
public string category { get; set;}
|
||||||
|
}
|
||||||
|
}
|
23
FlyHisTokenMsg.cs
Normal file
23
FlyHisTokenMsg.cs
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
|
||||||
|
//福乐云HIS的token信息结构
|
||||||
|
public class FlyHisTokenMsgModel
|
||||||
|
{
|
||||||
|
public int code { get; set; }
|
||||||
|
public dataInfo data { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class dataInfo
|
||||||
|
{
|
||||||
|
public string access_token { get; set; }
|
||||||
|
public string expires_in { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
267
FtpHelper.cs
Normal file
267
FtpHelper.cs
Normal file
@ -0,0 +1,267 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Configuration;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
public class FtpHelper
|
||||||
|
{
|
||||||
|
//基本设置
|
||||||
|
//private static string ftppath = @"ftp://" + "10.13.1.36" + "/";
|
||||||
|
private static string ftppath = ConfigurationManager.AppSettings["ftppath"];
|
||||||
|
private static string username = ConfigurationManager.AppSettings["username"];
|
||||||
|
private static string password = ConfigurationManager.AppSettings["password"];
|
||||||
|
|
||||||
|
//获取FTP上面的文件夹和文件
|
||||||
|
public static string[] GetFolderAndFileList(string s)
|
||||||
|
{
|
||||||
|
string[] getfolderandfilelist;
|
||||||
|
FtpWebRequest request;
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
request = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftppath));
|
||||||
|
request.UseBinary = true;
|
||||||
|
request.Credentials = new NetworkCredential(username, password);
|
||||||
|
request.Method = WebRequestMethods.Ftp.ListDirectory;
|
||||||
|
request.UseBinary = true;
|
||||||
|
WebResponse response = request.GetResponse();
|
||||||
|
StreamReader reader = new StreamReader(response.GetResponseStream());
|
||||||
|
string line = reader.ReadLine();
|
||||||
|
while (line != null)
|
||||||
|
{
|
||||||
|
sb.Append(line);
|
||||||
|
sb.Append("\n");
|
||||||
|
Console.WriteLine(line);
|
||||||
|
line = reader.ReadLine();
|
||||||
|
}
|
||||||
|
sb.Remove(sb.ToString().LastIndexOf('\n'), 1);
|
||||||
|
reader.Close();
|
||||||
|
response.Close();
|
||||||
|
return sb.ToString().Split('\n');
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("获取FTP上面的文件夹和文件:" + ex.Message);
|
||||||
|
getfolderandfilelist = null;
|
||||||
|
return getfolderandfilelist;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取FTP上面的文件大小
|
||||||
|
public static int GetFileSize(string fileName)
|
||||||
|
{
|
||||||
|
FtpWebRequest request;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
request = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftppath + fileName));
|
||||||
|
request.UseBinary = true;
|
||||||
|
request.Credentials = new NetworkCredential(username, password);
|
||||||
|
request.Method = WebRequestMethods.Ftp.GetFileSize;
|
||||||
|
int n = (int)request.GetResponse().ContentLength;
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("获取FTP上面的文件大小:" + ex.Message);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//FTP上传文件
|
||||||
|
public static string FileUpLoad(string filePath, string objPath = "")
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string url = ftppath;
|
||||||
|
if (objPath != "")
|
||||||
|
url += objPath + "/";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
FtpWebRequest request = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
FileInfo fi = new FileInfo(filePath);
|
||||||
|
using (FileStream fs = fi.OpenRead())
|
||||||
|
{
|
||||||
|
request = (FtpWebRequest)FtpWebRequest.Create(new Uri(url + fi.Name));
|
||||||
|
request.Credentials = new NetworkCredential(username, password);
|
||||||
|
request.KeepAlive = false;
|
||||||
|
request.Method = WebRequestMethods.Ftp.UploadFile;
|
||||||
|
request.UseBinary = true;
|
||||||
|
using (Stream stream = request.GetRequestStream())
|
||||||
|
{
|
||||||
|
int bufferLength = 5120;
|
||||||
|
byte[] buffer = new byte[bufferLength];
|
||||||
|
int i;
|
||||||
|
while ((i = fs.Read(buffer, 0, bufferLength)) > 0)
|
||||||
|
{
|
||||||
|
stream.Write(buffer, 0, i);
|
||||||
|
}
|
||||||
|
return "上传成功";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return ex.ToString();
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return ex.ToString();
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return ex.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//FTP上传文件
|
||||||
|
public static string FileUpLoad(string filePath, string objPath ,string ftpFileName)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string url = ftppath;
|
||||||
|
if (objPath != "")
|
||||||
|
url += objPath + "/";
|
||||||
|
FtpWebRequest request = null;
|
||||||
|
|
||||||
|
FileInfo fi = new FileInfo(filePath);
|
||||||
|
using (FileStream fs = fi.OpenRead())
|
||||||
|
{
|
||||||
|
request = (FtpWebRequest)FtpWebRequest.Create(new Uri(url + ftpFileName));
|
||||||
|
request.Credentials = new NetworkCredential(username, password);
|
||||||
|
request.KeepAlive = false;
|
||||||
|
request.Method = WebRequestMethods.Ftp.UploadFile;
|
||||||
|
request.UseBinary = true;
|
||||||
|
request.UsePassive = true;//被动传输模式 设置
|
||||||
|
|
||||||
|
using (Stream stream = request.GetRequestStream())
|
||||||
|
{
|
||||||
|
int bufferLength = 5120;
|
||||||
|
byte[] buffer = new byte[bufferLength];
|
||||||
|
int i;
|
||||||
|
while ((i = fs.Read(buffer, 0, bufferLength)) > 0)
|
||||||
|
{
|
||||||
|
stream.Write(buffer, 0, i);
|
||||||
|
}
|
||||||
|
return "上传成功";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return ex.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//FTP下载文件
|
||||||
|
public static void FileDownLoad(string fileName)
|
||||||
|
{
|
||||||
|
FtpWebRequest request;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string downloadPath = @"D:";
|
||||||
|
FileStream fs = new FileStream(downloadPath + "\\" + fileName, FileMode.Create);
|
||||||
|
request = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftppath + fileName));
|
||||||
|
request.Method = WebRequestMethods.Ftp.DownloadFile;
|
||||||
|
request.UseBinary = true;
|
||||||
|
request.Credentials = new NetworkCredential(username, password);
|
||||||
|
request.UsePassive = false;
|
||||||
|
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
|
||||||
|
Stream stream = response.GetResponseStream();
|
||||||
|
int bufferLength = 5120;
|
||||||
|
int i;
|
||||||
|
byte[] buffer = new byte[bufferLength];
|
||||||
|
i = stream.Read(buffer, 0, bufferLength);
|
||||||
|
while (i > 0)
|
||||||
|
{
|
||||||
|
fs.Write(buffer, 0, i);
|
||||||
|
i = stream.Read(buffer, 0, bufferLength);
|
||||||
|
}
|
||||||
|
stream.Close();
|
||||||
|
fs.Close();
|
||||||
|
response.Close();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("FTP下载文件:" + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//FTP删除文件
|
||||||
|
public static void FileDelete(string fileName)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string uri = ftppath + fileName;
|
||||||
|
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
|
||||||
|
request.UseBinary = true;
|
||||||
|
request.Credentials = new NetworkCredential(username, password);
|
||||||
|
request.KeepAlive = false;
|
||||||
|
request.Method = WebRequestMethods.Ftp.DeleteFile;
|
||||||
|
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
|
||||||
|
response.Close();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("FTP删除文件:" + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//FTP新建目录,上一级须先存在
|
||||||
|
public static void MakeDir(string dirName)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string uri = ftppath + dirName;
|
||||||
|
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
|
||||||
|
request.UseBinary = true;
|
||||||
|
request.Credentials = new NetworkCredential(username, password);
|
||||||
|
request.Method = WebRequestMethods.Ftp.MakeDirectory;
|
||||||
|
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
|
||||||
|
response.Close();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("FTP新建目录:" + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//FTP删除目录,上一级须先存在
|
||||||
|
public static void DelDir(string dirName)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string uri = ftppath + dirName;
|
||||||
|
FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
|
||||||
|
reqFTP.Credentials = new NetworkCredential(username, password);
|
||||||
|
reqFTP.Method = WebRequestMethods.Ftp.RemoveDirectory;
|
||||||
|
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
|
||||||
|
response.Close();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("FTP删除目录:" + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
36
HisInfo.cs
Normal file
36
HisInfo.cs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
public class HisInfo
|
||||||
|
{
|
||||||
|
public string jianchaid { get; set; }
|
||||||
|
public string jianchabh { get; set; }
|
||||||
|
public string name { get; set; }
|
||||||
|
public string sfz { get; set; }
|
||||||
|
public string birthdate { get; set; }
|
||||||
|
public int age { get; set; }
|
||||||
|
public string sex { get; set; }
|
||||||
|
public string yiyuanname { get; set; }
|
||||||
|
|
||||||
|
public string yiyuancode { get; set; }
|
||||||
|
|
||||||
|
public string yiyuanid { get; set; }
|
||||||
|
public string kaifangsj { get; set; }
|
||||||
|
public string departmentCode { get; set; }
|
||||||
|
public string departmentName { get; set; }
|
||||||
|
public string resDoctorName { get; set; }
|
||||||
|
public string resDoctorCode { get; set; }
|
||||||
|
public string nation { get; set; }
|
||||||
|
public string patientCode { get; set; }
|
||||||
|
public string visitType { get; set; }
|
||||||
|
|
||||||
|
public string jianchamingcheng { get; set; }
|
||||||
|
public string nhbm { get; set; }
|
||||||
|
public string category { get; set; }
|
||||||
|
}
|
||||||
|
}
|
163
Imaganddcm.cs
Normal file
163
Imaganddcm.cs
Normal file
@ -0,0 +1,163 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing.Imaging;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Dicom;
|
||||||
|
using Dicom.Imaging;
|
||||||
|
using Dicom.IO.Buffer;
|
||||||
|
using System.IO;
|
||||||
|
using System.Collections;
|
||||||
|
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
public class Imaganddcm
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 存放转换后的dcm文件名称
|
||||||
|
/// </summary>
|
||||||
|
public static ArrayList Array=new ArrayList();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 转换为Dicom格式
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="patId">患者ID</param>
|
||||||
|
/// <param name="pisId">影像唯一号</param>
|
||||||
|
/// <param name="textId">访问号</param>
|
||||||
|
/// <param name="patName">患者姓名</param>
|
||||||
|
/// <param name="inputImagePath">jpg图像</param>
|
||||||
|
/// <param name="outputDicomPath">dicom输出路径</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static bool ConvertToDicomImages(string patId, string pisId, string textId, string patName, Bitmap inputImagePath, string outputDicomPath)
|
||||||
|
{
|
||||||
|
|
||||||
|
// 读取图像
|
||||||
|
|
||||||
|
// 创建DICOM数据集
|
||||||
|
var dicomDataset = new DicomDataset
|
||||||
|
{
|
||||||
|
{ DicomTag.PatientID, patId },
|
||||||
|
{ DicomTag.PatientName, patName },
|
||||||
|
{ DicomTag.StudyInstanceUID, pisId },//StudyUid
|
||||||
|
{ DicomTag.SeriesInstanceUID, DicomUIDGenerator.GenerateDerivedFromUUID().UID },
|
||||||
|
{ DicomTag.SOPInstanceUID, DicomUIDGenerator.GenerateDerivedFromUUID().UID },
|
||||||
|
{ DicomTag.AccessionNumber,textId },//访问号
|
||||||
|
{ DicomTag.SOPClassUID, DicomUID.SecondaryCaptureImageStorage },
|
||||||
|
{ DicomTag.PhotometricInterpretation, "RGB" },
|
||||||
|
{ DicomTag.Rows, (ushort)inputImagePath.Height },
|
||||||
|
{ DicomTag.Columns, (ushort)inputImagePath.Width },
|
||||||
|
{ DicomTag.SamplesPerPixel, (ushort)3 },
|
||||||
|
{ DicomTag.BitsAllocated, (ushort)8 },
|
||||||
|
{ DicomTag.BitsStored, (ushort)8 },
|
||||||
|
{ DicomTag.HighBit, (ushort)7 }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// 创建像素数据
|
||||||
|
var pixelData = DicomPixelData.Create(dicomDataset, true);
|
||||||
|
byte[] imageData = GetImageData(inputImagePath);
|
||||||
|
pixelData.AddFrame(new MemoryByteBuffer(imageData));
|
||||||
|
|
||||||
|
// 创建 DICOM 文件
|
||||||
|
var dicomFile = new DicomFile(dicomDataset);
|
||||||
|
string guid= Guid.NewGuid().ToString("D");
|
||||||
|
// 保存 DICOM 文件
|
||||||
|
dicomFile.Save(outputDicomPath+"\\"+ guid+".dcm");
|
||||||
|
Array.Add(outputDicomPath + "\\" + guid + ".dcm");
|
||||||
|
return File.Exists(outputDicomPath+ "\\" + guid + ".dcm");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static byte[] GetImageData(Bitmap image)
|
||||||
|
{
|
||||||
|
// 将图像数据转换为DICOM格式
|
||||||
|
|
||||||
|
BitmapData bitmapData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
|
||||||
|
int actualDataWidth = image.Width * 3;
|
||||||
|
int byteCount = actualDataWidth * image.Height;
|
||||||
|
byte[] pixels = new byte[byteCount];
|
||||||
|
IntPtr ptr = bitmapData.Scan0;
|
||||||
|
for (int y = 0; y < image.Height; y++)
|
||||||
|
{
|
||||||
|
// Copy the data from the bitmap into the array
|
||||||
|
System.Runtime.InteropServices.Marshal.Copy(ptr + (y * bitmapData.Stride), pixels, y * actualDataWidth, actualDataWidth);
|
||||||
|
}
|
||||||
|
image.UnlockBits(bitmapData);
|
||||||
|
|
||||||
|
// Swap the Red and Blue channels to convert from RGB to BGR
|
||||||
|
for (int i = 0; i < byteCount; i += 3)
|
||||||
|
{
|
||||||
|
byte temp = pixels[i];
|
||||||
|
pixels[i] = pixels[i + 2];
|
||||||
|
pixels[i + 2] = temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
return pixels;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static bool ImportImage(string patId, string pisId, string textId, string patName, Bitmap inputImagePath, string outputDicomPath)
|
||||||
|
{
|
||||||
|
|
||||||
|
//bitmap = GetValidImage(bitmap);
|
||||||
|
|
||||||
|
|
||||||
|
byte[] pixels = GetPixels(inputImagePath);
|
||||||
|
MemoryByteBuffer buffer = new MemoryByteBuffer(pixels);
|
||||||
|
DicomDataset dataset = new DicomDataset();
|
||||||
|
//FillDataset(dataset);
|
||||||
|
dataset.Add(DicomTag.PhotometricInterpretation, PhotometricInterpretation.Rgb.Value);
|
||||||
|
dataset.Add(DicomTag.Rows, (ushort)inputImagePath.Height);
|
||||||
|
dataset.Add(DicomTag.Columns, (ushort)inputImagePath.Width);
|
||||||
|
dataset.Add(DicomTag.BitsAllocated, (ushort)8);
|
||||||
|
dataset.Add(DicomTag.SOPClassUID, DicomUIDGenerator.GenerateDerivedFromUUID().UID);
|
||||||
|
dataset.Add(DicomTag.SOPInstanceUID, DicomUIDGenerator.GenerateDerivedFromUUID().UID);
|
||||||
|
dataset.Add(DicomTag.PatientID, patId);
|
||||||
|
dataset.Add(DicomTag.PatientName, patName);
|
||||||
|
dataset.Add(DicomTag.StudyInstanceUID, pisId);
|
||||||
|
DicomPixelData pixelData = DicomPixelData.Create(dataset, true);
|
||||||
|
pixelData.BitsStored = 8;
|
||||||
|
//pixelData.BitsAllocated = 8;
|
||||||
|
pixelData.SamplesPerPixel = 3;
|
||||||
|
pixelData.HighBit = 7;
|
||||||
|
pixelData.PixelRepresentation = 0;
|
||||||
|
pixelData.PlanarConfiguration = 0;
|
||||||
|
pixelData.AddFrame(buffer);
|
||||||
|
|
||||||
|
DicomFile dicomfile = new DicomFile(dataset);
|
||||||
|
string guid = Guid.NewGuid().ToString("D");
|
||||||
|
Array.Add(outputDicomPath + "\\" + guid + ".dcm");
|
||||||
|
dicomfile.Save(outputDicomPath + "\\" + guid + ".dcm");
|
||||||
|
return File.Exists(outputDicomPath + "\\" + guid + ".dcm");
|
||||||
|
}
|
||||||
|
public static byte[] GetPixels(Bitmap bitmap)
|
||||||
|
{
|
||||||
|
byte[] bytes = new byte[bitmap.Width * bitmap.Height * 3];
|
||||||
|
int wide = bitmap.Width;
|
||||||
|
int i = 0;
|
||||||
|
int height = bitmap.Height;
|
||||||
|
for (int y = 0; y < height; y++)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < wide; x++)
|
||||||
|
{
|
||||||
|
var srcColor = bitmap.GetPixel(x, y);
|
||||||
|
//bytes[i] = (byte)(srcColor.R * .299 + srcColor.G * .587 + srcColor.B * .114);
|
||||||
|
bytes[i] = srcColor.R;
|
||||||
|
i++;
|
||||||
|
bytes[i] = srcColor.G;
|
||||||
|
i++;
|
||||||
|
bytes[i] = srcColor.B;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return bytes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
ImageInfo.cs
Normal file
15
ImageInfo.cs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
internal class image
|
||||||
|
{
|
||||||
|
public string ImageNumber { get; set; }
|
||||||
|
public string ObjectFile { get; set; }
|
||||||
|
public string UrlPrefix { get; set; }
|
||||||
|
}
|
||||||
|
}
|
388
InfoForm.Designer.cs
generated
Normal file
388
InfoForm.Designer.cs
generated
Normal file
@ -0,0 +1,388 @@
|
|||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
partial class InfoForm
|
||||||
|
{
|
||||||
|
/// <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()
|
||||||
|
{
|
||||||
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.textjianchaid = new System.Windows.Forms.TextBox();
|
||||||
|
this.txt_jianchabh = new System.Windows.Forms.TextBox();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.txtname = new System.Windows.Forms.TextBox();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
|
this.textsfz = new System.Windows.Forms.TextBox();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
|
this.datebirthdate = new System.Windows.Forms.DateTimePicker();
|
||||||
|
this.textage = new System.Windows.Forms.TextBox();
|
||||||
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
|
this.label7 = new System.Windows.Forms.Label();
|
||||||
|
this.comboBoxsex = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label8 = new System.Windows.Forms.Label();
|
||||||
|
this.datekaifangsj = new System.Windows.Forms.DateTimePicker();
|
||||||
|
this.label9 = new System.Windows.Forms.Label();
|
||||||
|
this.textexamItemName = new System.Windows.Forms.TextBox();
|
||||||
|
this.textexamItemcode = new System.Windows.Forms.TextBox();
|
||||||
|
this.label10 = new System.Windows.Forms.Label();
|
||||||
|
this.button2 = new System.Windows.Forms.Button();
|
||||||
|
this.button3 = new System.Windows.Forms.Button();
|
||||||
|
this.button4 = new System.Windows.Forms.Button();
|
||||||
|
this.button5 = new System.Windows.Forms.Button();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// button1
|
||||||
|
//
|
||||||
|
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.button1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button1.Location = new System.Drawing.Point(306, 625);
|
||||||
|
this.button1.Name = "button1";
|
||||||
|
this.button1.Size = new System.Drawing.Size(75, 43);
|
||||||
|
this.button1.TabIndex = 0;
|
||||||
|
this.button1.Text = "新增";
|
||||||
|
this.button1.UseVisualStyleBackColor = true;
|
||||||
|
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.AutoSize = true;
|
||||||
|
this.label1.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.label1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label1.ForeColor = System.Drawing.Color.Red;
|
||||||
|
this.label1.Location = new System.Drawing.Point(5, 28);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(63, 21);
|
||||||
|
this.label1.TabIndex = 1;
|
||||||
|
this.label1.Text = "患者ID:";
|
||||||
|
//
|
||||||
|
// textjianchaid
|
||||||
|
//
|
||||||
|
this.textjianchaid.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.textjianchaid.Location = new System.Drawing.Point(70, 26);
|
||||||
|
this.textjianchaid.Name = "textjianchaid";
|
||||||
|
this.textjianchaid.Size = new System.Drawing.Size(161, 29);
|
||||||
|
this.textjianchaid.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// txt_jianchabh
|
||||||
|
//
|
||||||
|
this.txt_jianchabh.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.txt_jianchabh.Location = new System.Drawing.Point(371, 28);
|
||||||
|
this.txt_jianchabh.Name = "txt_jianchabh";
|
||||||
|
this.txt_jianchabh.Size = new System.Drawing.Size(192, 29);
|
||||||
|
this.txt_jianchabh.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
this.label2.AutoSize = true;
|
||||||
|
this.label2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label2.ForeColor = System.Drawing.Color.Red;
|
||||||
|
this.label2.Location = new System.Drawing.Point(294, 31);
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
this.label2.Size = new System.Drawing.Size(78, 21);
|
||||||
|
this.label2.TabIndex = 3;
|
||||||
|
this.label2.Text = "检查编号:";
|
||||||
|
//
|
||||||
|
// txtname
|
||||||
|
//
|
||||||
|
this.txtname.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.txtname.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||||
|
this.txtname.Location = new System.Drawing.Point(75, 83);
|
||||||
|
this.txtname.Name = "txtname";
|
||||||
|
this.txtname.Size = new System.Drawing.Size(161, 29);
|
||||||
|
this.txtname.TabIndex = 6;
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
this.label3.AutoSize = true;
|
||||||
|
this.label3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label3.ForeColor = System.Drawing.Color.Red;
|
||||||
|
this.label3.Location = new System.Drawing.Point(-1, 86);
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
this.label3.Size = new System.Drawing.Size(78, 21);
|
||||||
|
this.label3.TabIndex = 5;
|
||||||
|
this.label3.Text = "患者姓名:";
|
||||||
|
//
|
||||||
|
// textsfz
|
||||||
|
//
|
||||||
|
this.textsfz.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.textsfz.Location = new System.Drawing.Point(603, 83);
|
||||||
|
this.textsfz.Name = "textsfz";
|
||||||
|
this.textsfz.Size = new System.Drawing.Size(169, 29);
|
||||||
|
this.textsfz.TabIndex = 8;
|
||||||
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
this.label4.AutoSize = true;
|
||||||
|
this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label4.Location = new System.Drawing.Point(535, 86);
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
this.label4.Size = new System.Drawing.Size(62, 21);
|
||||||
|
this.label4.TabIndex = 7;
|
||||||
|
this.label4.Text = "身份证:";
|
||||||
|
//
|
||||||
|
// label5
|
||||||
|
//
|
||||||
|
this.label5.AutoSize = true;
|
||||||
|
this.label5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label5.Location = new System.Drawing.Point(254, 86);
|
||||||
|
this.label5.Name = "label5";
|
||||||
|
this.label5.Size = new System.Drawing.Size(78, 21);
|
||||||
|
this.label5.TabIndex = 9;
|
||||||
|
this.label5.Text = "出生日期:";
|
||||||
|
//
|
||||||
|
// datebirthdate
|
||||||
|
//
|
||||||
|
this.datebirthdate.CustomFormat = "yyyy-MM-dd";
|
||||||
|
this.datebirthdate.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.datebirthdate.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
|
||||||
|
this.datebirthdate.Location = new System.Drawing.Point(335, 83);
|
||||||
|
this.datebirthdate.Name = "datebirthdate";
|
||||||
|
this.datebirthdate.Size = new System.Drawing.Size(192, 26);
|
||||||
|
this.datebirthdate.TabIndex = 10;
|
||||||
|
//
|
||||||
|
// textage
|
||||||
|
//
|
||||||
|
this.textage.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.textage.Location = new System.Drawing.Point(717, 28);
|
||||||
|
this.textage.Name = "textage";
|
||||||
|
this.textage.Size = new System.Drawing.Size(55, 29);
|
||||||
|
this.textage.TabIndex = 12;
|
||||||
|
//
|
||||||
|
// label6
|
||||||
|
//
|
||||||
|
this.label6.AutoSize = true;
|
||||||
|
this.label6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label6.Location = new System.Drawing.Point(665, 33);
|
||||||
|
this.label6.Name = "label6";
|
||||||
|
this.label6.Size = new System.Drawing.Size(46, 21);
|
||||||
|
this.label6.TabIndex = 11;
|
||||||
|
this.label6.Text = "年龄:";
|
||||||
|
//
|
||||||
|
// label7
|
||||||
|
//
|
||||||
|
this.label7.AutoSize = true;
|
||||||
|
this.label7.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label7.Location = new System.Drawing.Point(23, 138);
|
||||||
|
this.label7.Name = "label7";
|
||||||
|
this.label7.Size = new System.Drawing.Size(46, 21);
|
||||||
|
this.label7.TabIndex = 13;
|
||||||
|
this.label7.Text = "性别:";
|
||||||
|
//
|
||||||
|
// comboBoxsex
|
||||||
|
//
|
||||||
|
this.comboBoxsex.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.comboBoxsex.FormattingEnabled = true;
|
||||||
|
this.comboBoxsex.Items.AddRange(new object[] {
|
||||||
|
"男",
|
||||||
|
"女"});
|
||||||
|
this.comboBoxsex.Location = new System.Drawing.Point(75, 136);
|
||||||
|
this.comboBoxsex.Name = "comboBoxsex";
|
||||||
|
this.comboBoxsex.Size = new System.Drawing.Size(161, 28);
|
||||||
|
this.comboBoxsex.TabIndex = 15;
|
||||||
|
//
|
||||||
|
// label8
|
||||||
|
//
|
||||||
|
this.label8.AutoSize = true;
|
||||||
|
this.label8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label8.ForeColor = System.Drawing.Color.DarkRed;
|
||||||
|
this.label8.Location = new System.Drawing.Point(251, 143);
|
||||||
|
this.label8.Name = "label8";
|
||||||
|
this.label8.Size = new System.Drawing.Size(78, 21);
|
||||||
|
this.label8.TabIndex = 16;
|
||||||
|
this.label8.Text = "开方时间:";
|
||||||
|
//
|
||||||
|
// datekaifangsj
|
||||||
|
//
|
||||||
|
this.datekaifangsj.CustomFormat = "yyyy-MM-dd HH:mm:ss";
|
||||||
|
this.datekaifangsj.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.datekaifangsj.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
|
||||||
|
this.datekaifangsj.Location = new System.Drawing.Point(335, 139);
|
||||||
|
this.datekaifangsj.Name = "datekaifangsj";
|
||||||
|
this.datekaifangsj.Size = new System.Drawing.Size(192, 26);
|
||||||
|
this.datekaifangsj.TabIndex = 17;
|
||||||
|
//
|
||||||
|
// label9
|
||||||
|
//
|
||||||
|
this.label9.AutoSize = true;
|
||||||
|
this.label9.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label9.ForeColor = System.Drawing.Color.Red;
|
||||||
|
this.label9.Location = new System.Drawing.Point(527, 142);
|
||||||
|
this.label9.Name = "label9";
|
||||||
|
this.label9.Size = new System.Drawing.Size(78, 21);
|
||||||
|
this.label9.TabIndex = 18;
|
||||||
|
this.label9.Text = "检查名称:";
|
||||||
|
//
|
||||||
|
// textexamItemName
|
||||||
|
//
|
||||||
|
this.textexamItemName.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.textexamItemName.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||||
|
this.textexamItemName.Location = new System.Drawing.Point(603, 139);
|
||||||
|
this.textexamItemName.Name = "textexamItemName";
|
||||||
|
this.textexamItemName.Size = new System.Drawing.Size(169, 29);
|
||||||
|
this.textexamItemName.TabIndex = 19;
|
||||||
|
//
|
||||||
|
// textexamItemcode
|
||||||
|
//
|
||||||
|
this.textexamItemcode.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.textexamItemcode.Location = new System.Drawing.Point(75, 197);
|
||||||
|
this.textexamItemcode.Name = "textexamItemcode";
|
||||||
|
this.textexamItemcode.Size = new System.Drawing.Size(161, 29);
|
||||||
|
this.textexamItemcode.TabIndex = 21;
|
||||||
|
//
|
||||||
|
// label10
|
||||||
|
//
|
||||||
|
this.label10.AutoSize = true;
|
||||||
|
this.label10.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label10.ForeColor = System.Drawing.Color.Red;
|
||||||
|
this.label10.Location = new System.Drawing.Point(-1, 200);
|
||||||
|
this.label10.Name = "label10";
|
||||||
|
this.label10.Size = new System.Drawing.Size(78, 21);
|
||||||
|
this.label10.TabIndex = 20;
|
||||||
|
this.label10.Text = "项目编码:";
|
||||||
|
//
|
||||||
|
// button2
|
||||||
|
//
|
||||||
|
this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.button2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button2.Location = new System.Drawing.Point(400, 625);
|
||||||
|
this.button2.Name = "button2";
|
||||||
|
this.button2.Size = new System.Drawing.Size(75, 43);
|
||||||
|
this.button2.TabIndex = 22;
|
||||||
|
this.button2.Text = "取消";
|
||||||
|
this.button2.UseVisualStyleBackColor = true;
|
||||||
|
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||||
|
//
|
||||||
|
// button3
|
||||||
|
//
|
||||||
|
this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.button3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button3.Location = new System.Drawing.Point(567, 28);
|
||||||
|
this.button3.Name = "button3";
|
||||||
|
this.button3.Size = new System.Drawing.Size(59, 32);
|
||||||
|
this.button3.TabIndex = 23;
|
||||||
|
this.button3.Text = "生成";
|
||||||
|
this.button3.UseVisualStyleBackColor = true;
|
||||||
|
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||||
|
//
|
||||||
|
// button4
|
||||||
|
//
|
||||||
|
this.button4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.button4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button4.Location = new System.Drawing.Point(242, 197);
|
||||||
|
this.button4.Name = "button4";
|
||||||
|
this.button4.Size = new System.Drawing.Size(59, 32);
|
||||||
|
this.button4.TabIndex = 24;
|
||||||
|
this.button4.Text = "生成";
|
||||||
|
this.button4.UseVisualStyleBackColor = true;
|
||||||
|
this.button4.Click += new System.EventHandler(this.button4_Click);
|
||||||
|
//
|
||||||
|
// button5
|
||||||
|
//
|
||||||
|
this.button5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.button5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button5.Location = new System.Drawing.Point(232, 25);
|
||||||
|
this.button5.Name = "button5";
|
||||||
|
this.button5.Size = new System.Drawing.Size(59, 32);
|
||||||
|
this.button5.TabIndex = 25;
|
||||||
|
this.button5.Text = "生成";
|
||||||
|
this.button5.UseVisualStyleBackColor = true;
|
||||||
|
this.button5.Click += new System.EventHandler(this.button5_Click);
|
||||||
|
//
|
||||||
|
// InfoForm
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(800, 680);
|
||||||
|
this.Controls.Add(this.button5);
|
||||||
|
this.Controls.Add(this.button4);
|
||||||
|
this.Controls.Add(this.button3);
|
||||||
|
this.Controls.Add(this.button2);
|
||||||
|
this.Controls.Add(this.textexamItemcode);
|
||||||
|
this.Controls.Add(this.label10);
|
||||||
|
this.Controls.Add(this.textexamItemName);
|
||||||
|
this.Controls.Add(this.label9);
|
||||||
|
this.Controls.Add(this.datekaifangsj);
|
||||||
|
this.Controls.Add(this.label8);
|
||||||
|
this.Controls.Add(this.comboBoxsex);
|
||||||
|
this.Controls.Add(this.label7);
|
||||||
|
this.Controls.Add(this.textage);
|
||||||
|
this.Controls.Add(this.label6);
|
||||||
|
this.Controls.Add(this.datebirthdate);
|
||||||
|
this.Controls.Add(this.label5);
|
||||||
|
this.Controls.Add(this.textsfz);
|
||||||
|
this.Controls.Add(this.label4);
|
||||||
|
this.Controls.Add(this.txtname);
|
||||||
|
this.Controls.Add(this.label3);
|
||||||
|
this.Controls.Add(this.txt_jianchabh);
|
||||||
|
this.Controls.Add(this.label2);
|
||||||
|
this.Controls.Add(this.textjianchaid);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
|
this.Controls.Add(this.button1);
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.Name = "InfoForm";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "新增患者";
|
||||||
|
this.Load += new System.EventHandler(this.InfoForm_Load);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Button button1;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.TextBox textjianchaid;
|
||||||
|
private System.Windows.Forms.TextBox txt_jianchabh;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.Windows.Forms.TextBox txtname;
|
||||||
|
private System.Windows.Forms.Label label3;
|
||||||
|
private System.Windows.Forms.TextBox textsfz;
|
||||||
|
private System.Windows.Forms.Label label4;
|
||||||
|
private System.Windows.Forms.Label label5;
|
||||||
|
private System.Windows.Forms.DateTimePicker datebirthdate;
|
||||||
|
private System.Windows.Forms.TextBox textage;
|
||||||
|
private System.Windows.Forms.Label label6;
|
||||||
|
private System.Windows.Forms.Label label7;
|
||||||
|
private System.Windows.Forms.ComboBox comboBoxsex;
|
||||||
|
private System.Windows.Forms.Label label8;
|
||||||
|
private System.Windows.Forms.DateTimePicker datekaifangsj;
|
||||||
|
private System.Windows.Forms.Label label9;
|
||||||
|
private System.Windows.Forms.TextBox textexamItemName;
|
||||||
|
private System.Windows.Forms.TextBox textexamItemcode;
|
||||||
|
private System.Windows.Forms.Label label10;
|
||||||
|
private System.Windows.Forms.Button button2;
|
||||||
|
private System.Windows.Forms.Button button3;
|
||||||
|
private System.Windows.Forms.Button button4;
|
||||||
|
private System.Windows.Forms.Button button5;
|
||||||
|
}
|
||||||
|
}
|
115
InfoForm.cs
Normal file
115
InfoForm.cs
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Configuration;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
public partial class InfoForm : Form
|
||||||
|
{
|
||||||
|
public InfoForm()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
public HisInfo info;
|
||||||
|
/// <summary>
|
||||||
|
/// 新增
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void button1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!inspect())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
info = new HisInfo();
|
||||||
|
info.jianchaid = textjianchaid.Text.Trim();
|
||||||
|
info.name = txtname.Text.Trim();
|
||||||
|
info.jianchabh = txt_jianchabh.Text.Trim();
|
||||||
|
info.sfz = textsfz.Text.Trim();
|
||||||
|
info.birthdate = datebirthdate.Value.ToString("yyyy-MM-dd");
|
||||||
|
info.age = string.IsNullOrEmpty(textage.Text.Trim())?0:int.Parse(textage.Text.Trim());
|
||||||
|
info.sex = comboBoxsex.Text;
|
||||||
|
info.yiyuanname = ConfigurationManager.AppSettings["yymc"];
|
||||||
|
info.yiyuancode = ConfigurationManager.AppSettings["yycode"];
|
||||||
|
info.kaifangsj = datekaifangsj.Value.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
info.jianchamingcheng = textexamItemName.Text;
|
||||||
|
info.nhbm = textexamItemcode.Text;
|
||||||
|
this.DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void InfoForm_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
datekaifangsj.Value = DateTime.Now;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button2_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.DialogResult = DialogResult.Cancel;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 生成项目编码
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void button4_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Guid guid = Guid.NewGuid();
|
||||||
|
string guidString = guid.ToString("N"); // 没有分隔符
|
||||||
|
textexamItemcode.Text = "US" + guidString;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 生成检查编号
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void button3_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Guid guid = Guid.NewGuid();
|
||||||
|
string guidString = guid.ToString("N"); // 没有分隔符
|
||||||
|
txt_jianchabh.Text = guidString;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 验证必填
|
||||||
|
/// </summary>
|
||||||
|
private bool inspect()
|
||||||
|
{
|
||||||
|
bool bol=true;
|
||||||
|
if (string.IsNullOrEmpty(textjianchaid.Text.Trim()) ||
|
||||||
|
string.IsNullOrEmpty(txt_jianchabh.Text.Trim()) ||
|
||||||
|
string.IsNullOrEmpty(txtname.Text.Trim()) ||
|
||||||
|
string.IsNullOrEmpty(textexamItemName.Text.Trim()) ||
|
||||||
|
string.IsNullOrEmpty(textexamItemcode.Text.Trim()))
|
||||||
|
{
|
||||||
|
|
||||||
|
MessageBox.Show("必填字段不能为空");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return bol;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 生成患者ID
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void button5_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
string time= DateTime.Now.ToString("yyyyMMddHHmmss");
|
||||||
|
textjianchaid.Text = "M"+time;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
120
InfoForm.resx
Normal file
120
InfoForm.resx
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
<?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>
|
||||||
|
</root>
|
15
MsgInfo.cs
Normal file
15
MsgInfo.cs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
internal class MsgInfo
|
||||||
|
{
|
||||||
|
public string code { get; set; }
|
||||||
|
public string data { get; set; }
|
||||||
|
public string msg { get; set; }
|
||||||
|
}
|
||||||
|
}
|
20
Patient.cs
Normal file
20
Patient.cs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
internal class Patient
|
||||||
|
{
|
||||||
|
public string PatientID { get; set; }
|
||||||
|
public string PatientNam { get; set; }
|
||||||
|
public string PatientBir { get; set; }
|
||||||
|
public string PatientSex { get; set; }
|
||||||
|
public string OrgId { get; set; }
|
||||||
|
public string OrgName { get; set; }
|
||||||
|
public string StudyDate { get; set; }
|
||||||
|
public List<Study> Studies { get; set; }
|
||||||
|
}
|
||||||
|
}
|
62
ProcessForm.Designer.cs
generated
Normal file
62
ProcessForm.Designer.cs
generated
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
partial class ProcessForm
|
||||||
|
{
|
||||||
|
/// <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()
|
||||||
|
{
|
||||||
|
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// progressBar1
|
||||||
|
//
|
||||||
|
this.progressBar1.Location = new System.Drawing.Point(12, 23);
|
||||||
|
this.progressBar1.Name = "progressBar1";
|
||||||
|
this.progressBar1.Size = new System.Drawing.Size(362, 23);
|
||||||
|
this.progressBar1.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// ProcessForm
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(386, 69);
|
||||||
|
this.Controls.Add(this.progressBar1);
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "ProcessForm";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "正在上传";
|
||||||
|
this.TopMost = true;
|
||||||
|
this.Load += new System.EventHandler(this.ProcessForm_Load);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.ProgressBar progressBar1;
|
||||||
|
}
|
||||||
|
}
|
44
ProcessForm.cs
Normal file
44
ProcessForm.cs
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
public partial class ProcessForm : Form
|
||||||
|
{
|
||||||
|
private BackgroundWorker backgroundWorker1;
|
||||||
|
public ProcessForm(BackgroundWorker backgroundWorker1)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
this.backgroundWorker1 = backgroundWorker1;
|
||||||
|
this.backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);
|
||||||
|
this.backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProcessForm_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
|
||||||
|
{
|
||||||
|
this.Close();//执行完之后,直接关闭页面
|
||||||
|
}
|
||||||
|
void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
|
||||||
|
{
|
||||||
|
this.progressBar1.Value = e.ProgressPercentage;
|
||||||
|
}
|
||||||
|
private void button1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.backgroundWorker1.CancelAsync();
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
120
ProcessForm.resx
Normal file
120
ProcessForm.resx
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
<?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>
|
||||||
|
</root>
|
23
Program.cs
Normal file
23
Program.cs
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using videoGather;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
static class Program
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 应用程序的主入口点。
|
||||||
|
/// </summary>
|
||||||
|
[STAThread]
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
Application.Run(new video());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
36
Properties/AssemblyInfo.cs
Normal file
36
Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// 有关程序集的一般信息由以下
|
||||||
|
// 控制。更改这些特性值可修改
|
||||||
|
// 与程序集关联的信息。
|
||||||
|
[assembly: AssemblyTitle("视频采集")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("AForge拍照及录像")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||||
|
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
|
||||||
|
//请将此类型的 ComVisible 特性设置为 true。
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||||
|
[assembly: Guid("2990c129-31d9-4aa3-b10d-d2773f140ff4")]
|
||||||
|
|
||||||
|
// 程序集的版本信息由下列四个值组成:
|
||||||
|
//
|
||||||
|
// 主版本
|
||||||
|
// 次版本
|
||||||
|
// 生成号
|
||||||
|
// 修订号
|
||||||
|
//
|
||||||
|
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||||
|
//通过使用 "*",如下所示:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
63
Properties/Resources.Designer.cs
generated
Normal file
63
Properties/Resources.Designer.cs
generated
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
// 运行时版本:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace videoGather.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()]
|
||||||
|
internal 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)]
|
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("videoGather.Properties.Resources", typeof(Resources).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 重写当前线程的 CurrentUICulture 属性,对
|
||||||
|
/// 使用此强类型资源类的所有资源查找执行重写。
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
117
Properties/Resources.resx
Normal file
117
Properties/Resources.resx
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
<?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.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: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" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
</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" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
26
Properties/Settings.Designer.cs
generated
Normal file
26
Properties/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
// 运行时版本:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace videoGather.Properties {
|
||||||
|
|
||||||
|
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")]
|
||||||
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|
||||||
|
public static Settings Default {
|
||||||
|
get {
|
||||||
|
return defaultInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
7
Properties/Settings.settings
Normal file
7
Properties/Settings.settings
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||||
|
<Profiles>
|
||||||
|
<Profile Name="(Default)" />
|
||||||
|
</Profiles>
|
||||||
|
<Settings />
|
||||||
|
</SettingsFile>
|
23
SaveFile.cs
Normal file
23
SaveFile.cs
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
internal class SaveFile
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
public string folderPath { get; set; }
|
||||||
|
|
||||||
|
public string imagebase { get; set; }
|
||||||
|
|
||||||
|
public string fileName { get; set; }
|
||||||
|
|
||||||
|
public string extension { get; set; }
|
||||||
|
|
||||||
|
public string orgId { get; set; }
|
||||||
|
}
|
||||||
|
}
|
16
Series.cs
Normal file
16
Series.cs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
internal class Series
|
||||||
|
{
|
||||||
|
public string SeriesNumb { get; set; }
|
||||||
|
public string SeriesDesc { get; set; }
|
||||||
|
public string Modality { get; set; }
|
||||||
|
public List<image> image { get; set; }
|
||||||
|
}
|
||||||
|
}
|
16
StudyInfo.cs
Normal file
16
StudyInfo.cs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
internal class Study
|
||||||
|
{
|
||||||
|
public string StudyDescr { get; set; }
|
||||||
|
public string StudyID { get; set; }
|
||||||
|
public string StudyModal { get; set; }
|
||||||
|
public List<Series> Series { get; set; }
|
||||||
|
}
|
||||||
|
}
|
22
insimagescreenshotVO.cs
Normal file
22
insimagescreenshotVO.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
internal class insimagescreenshotVO
|
||||||
|
{
|
||||||
|
public string id { get; set; }
|
||||||
|
|
||||||
|
public string imagebase { get; set; }
|
||||||
|
|
||||||
|
public string imgType { get; set; }
|
||||||
|
|
||||||
|
public string imgDescription { get; set; }
|
||||||
|
|
||||||
|
public string orgId { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
16
packages.config
Normal file
16
packages.config
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="Accord" version="3.8.2-alpha" targetFramework="net461" />
|
||||||
|
<package id="Accord.Video" version="3.8.2-alpha" targetFramework="net461" />
|
||||||
|
<package id="Accord.Video.FFMPEG" version="3.8.2-alpha" targetFramework="net461" />
|
||||||
|
<package id="AForge" version="2.2.5" targetFramework="net461" />
|
||||||
|
<package id="AForge.Controls" version="2.2.5" targetFramework="net461" />
|
||||||
|
<package id="AForge.Imaging" version="2.2.5" targetFramework="net461" />
|
||||||
|
<package id="AForge.Math" version="2.2.5" targetFramework="net461" />
|
||||||
|
<package id="AForge.Video" version="2.2.5" targetFramework="net461" />
|
||||||
|
<package id="AForge.Video.DirectShow" version="2.2.5" targetFramework="net461" />
|
||||||
|
<package id="AForge.Video.FFMPEG" version="2.2.5.1-rc" targetFramework="net461" />
|
||||||
|
<package id="fo-dicom" version="4.0.0" targetFramework="net48" />
|
||||||
|
<package id="fo-dicom.Desktop" version="4.0.0" targetFramework="net48" />
|
||||||
|
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
|
||||||
|
</packages>
|
633
video.Designer.cs
generated
Normal file
633
video.Designer.cs
generated
Normal file
@ -0,0 +1,633 @@
|
|||||||
|
|
||||||
|
namespace videoGather
|
||||||
|
{
|
||||||
|
partial class video
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 必需的设计器变量。
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 清理所有正在使用的资源。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows 窗体设计器生成的代码
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设计器支持所需的方法 - 不要修改
|
||||||
|
/// 使用代码编辑器修改此方法的内容。
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(video));
|
||||||
|
this.cb_CameraSelect = new System.Windows.Forms.ComboBox();
|
||||||
|
this.btn_Capture = new System.Windows.Forms.Button();
|
||||||
|
this.btn_Close = new System.Windows.Forms.Button();
|
||||||
|
this.gb_ButtonBox = new System.Windows.Forms.GroupBox();
|
||||||
|
this.button6 = new System.Windows.Forms.Button();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
|
this.btn_Connect = new System.Windows.Forms.Button();
|
||||||
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.button4 = new System.Windows.Forms.Button();
|
||||||
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
|
this.lab_Time = new System.Windows.Forms.Label();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.btn_EndVideo = new System.Windows.Forms.Button();
|
||||||
|
this.btn_PauseVideo = new System.Windows.Forms.Button();
|
||||||
|
this.btn_StartVideo = new System.Windows.Forms.Button();
|
||||||
|
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.button5 = new System.Windows.Forms.Button();
|
||||||
|
this.txt_h = new System.Windows.Forms.TextBox();
|
||||||
|
this.lab_h = new System.Windows.Forms.Label();
|
||||||
|
this.txt_w = new System.Windows.Forms.TextBox();
|
||||||
|
this.lab_w = new System.Windows.Forms.Label();
|
||||||
|
this.txt_y = new System.Windows.Forms.TextBox();
|
||||||
|
this.lab_y = new System.Windows.Forms.Label();
|
||||||
|
this.txt_x = new System.Windows.Forms.TextBox();
|
||||||
|
this.lab_x = new System.Windows.Forms.Label();
|
||||||
|
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||||
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.button3 = new System.Windows.Forms.Button();
|
||||||
|
this.button2 = new System.Windows.Forms.Button();
|
||||||
|
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.dGVPatient = new System.Windows.Forms.DataGridView();
|
||||||
|
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.name = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.sex = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.age = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.jianchamingcheng = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.kaifangsi = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.gb_CameraPanel = new System.Windows.Forms.GroupBox();
|
||||||
|
this.vsp_Panel = new AForge.Controls.VideoSourcePlayer();
|
||||||
|
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
|
||||||
|
this.gb_ButtonBox.SuspendLayout();
|
||||||
|
this.groupBox2.SuspendLayout();
|
||||||
|
this.groupBox3.SuspendLayout();
|
||||||
|
this.groupBox1.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dGVPatient)).BeginInit();
|
||||||
|
this.gb_CameraPanel.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// cb_CameraSelect
|
||||||
|
//
|
||||||
|
this.cb_CameraSelect.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.cb_CameraSelect.FormattingEnabled = true;
|
||||||
|
this.cb_CameraSelect.Location = new System.Drawing.Point(24, 140);
|
||||||
|
this.cb_CameraSelect.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.cb_CameraSelect.Name = "cb_CameraSelect";
|
||||||
|
this.cb_CameraSelect.Size = new System.Drawing.Size(150, 24);
|
||||||
|
this.cb_CameraSelect.TabIndex = 12;
|
||||||
|
//
|
||||||
|
// btn_Capture
|
||||||
|
//
|
||||||
|
this.btn_Capture.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.btn_Capture.Location = new System.Drawing.Point(19, 104);
|
||||||
|
this.btn_Capture.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.btn_Capture.Name = "btn_Capture";
|
||||||
|
this.btn_Capture.Size = new System.Drawing.Size(98, 31);
|
||||||
|
this.btn_Capture.TabIndex = 4;
|
||||||
|
this.btn_Capture.Text = "截图(F9)";
|
||||||
|
this.btn_Capture.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_Capture.Click += new System.EventHandler(this.btn_Capture_Click);
|
||||||
|
//
|
||||||
|
// btn_Close
|
||||||
|
//
|
||||||
|
this.btn_Close.Location = new System.Drawing.Point(255, 138);
|
||||||
|
this.btn_Close.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.btn_Close.Name = "btn_Close";
|
||||||
|
this.btn_Close.Size = new System.Drawing.Size(52, 28);
|
||||||
|
this.btn_Close.TabIndex = 15;
|
||||||
|
this.btn_Close.Text = "关闭源";
|
||||||
|
this.btn_Close.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_Close.Click += new System.EventHandler(this.btn_Close_Click);
|
||||||
|
//
|
||||||
|
// gb_ButtonBox
|
||||||
|
//
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.button6);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.label3);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.btn_Connect);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.button1);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.label1);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.button4);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.label6);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.btn_Close);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.lab_Time);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.label2);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.btn_EndVideo);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.btn_PauseVideo);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.btn_StartVideo);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.btn_Capture);
|
||||||
|
this.gb_ButtonBox.Controls.Add(this.cb_CameraSelect);
|
||||||
|
this.gb_ButtonBox.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.gb_ButtonBox.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.gb_ButtonBox.Location = new System.Drawing.Point(3, 157);
|
||||||
|
this.gb_ButtonBox.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.gb_ButtonBox.Name = "gb_ButtonBox";
|
||||||
|
this.gb_ButtonBox.Padding = new System.Windows.Forms.Padding(2);
|
||||||
|
this.gb_ButtonBox.Size = new System.Drawing.Size(556, 204);
|
||||||
|
this.gb_ButtonBox.TabIndex = 16;
|
||||||
|
this.gb_ButtonBox.TabStop = false;
|
||||||
|
this.gb_ButtonBox.Text = "功能区";
|
||||||
|
this.gb_ButtonBox.Enter += new System.EventHandler(this.gb_ButtonBox_Enter);
|
||||||
|
//
|
||||||
|
// button6
|
||||||
|
//
|
||||||
|
this.button6.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button6.Location = new System.Drawing.Point(400, 173);
|
||||||
|
this.button6.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.button6.Name = "button6";
|
||||||
|
this.button6.Size = new System.Drawing.Size(127, 31);
|
||||||
|
this.button6.TabIndex = 30;
|
||||||
|
this.button6.Text = "添加患者";
|
||||||
|
this.button6.UseVisualStyleBackColor = true;
|
||||||
|
this.button6.Click += new System.EventHandler(this.button6_Click);
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.label3.AutoSize = true;
|
||||||
|
this.label3.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.label3.ForeColor = System.Drawing.Color.Red;
|
||||||
|
this.label3.Location = new System.Drawing.Point(2, 182);
|
||||||
|
this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
this.label3.Size = new System.Drawing.Size(109, 16);
|
||||||
|
this.label3.TabIndex = 29;
|
||||||
|
this.label3.Text = "双击选择患者";
|
||||||
|
//
|
||||||
|
// btn_Connect
|
||||||
|
//
|
||||||
|
this.btn_Connect.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.btn_Connect.Location = new System.Drawing.Point(199, 138);
|
||||||
|
this.btn_Connect.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.btn_Connect.Name = "btn_Connect";
|
||||||
|
this.btn_Connect.Size = new System.Drawing.Size(52, 27);
|
||||||
|
this.btn_Connect.TabIndex = 17;
|
||||||
|
this.btn_Connect.Text = "连接";
|
||||||
|
this.btn_Connect.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_Connect.Click += new System.EventHandler(this.btn_Connect_Click);
|
||||||
|
//
|
||||||
|
// button1
|
||||||
|
//
|
||||||
|
this.button1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button1.Location = new System.Drawing.Point(400, 139);
|
||||||
|
this.button1.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.button1.Name = "button1";
|
||||||
|
this.button1.Size = new System.Drawing.Size(127, 31);
|
||||||
|
this.button1.TabIndex = 28;
|
||||||
|
this.button1.Text = "刷新患者(HIS)";
|
||||||
|
this.button1.UseVisualStyleBackColor = true;
|
||||||
|
this.button1.Click += new System.EventHandler(this.button1_Click_1);
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.AutoSize = true;
|
||||||
|
this.label1.Location = new System.Drawing.Point(226, 111);
|
||||||
|
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(15, 16);
|
||||||
|
this.label1.TabIndex = 26;
|
||||||
|
this.label1.Text = "0";
|
||||||
|
//
|
||||||
|
// button4
|
||||||
|
//
|
||||||
|
this.button4.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button4.Location = new System.Drawing.Point(400, 23);
|
||||||
|
this.button4.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.button4.Name = "button4";
|
||||||
|
this.button4.Size = new System.Drawing.Size(127, 112);
|
||||||
|
this.button4.TabIndex = 16;
|
||||||
|
this.button4.Text = "患者数据上传";
|
||||||
|
this.button4.UseVisualStyleBackColor = true;
|
||||||
|
this.button4.Click += new System.EventHandler(this.button4_Click);
|
||||||
|
//
|
||||||
|
// label6
|
||||||
|
//
|
||||||
|
this.label6.AutoSize = true;
|
||||||
|
this.label6.Location = new System.Drawing.Point(129, 111);
|
||||||
|
this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
|
this.label6.Name = "label6";
|
||||||
|
this.label6.Size = new System.Drawing.Size(87, 16);
|
||||||
|
this.label6.TabIndex = 27;
|
||||||
|
this.label6.Text = "截图数量:";
|
||||||
|
//
|
||||||
|
// lab_Time
|
||||||
|
//
|
||||||
|
this.lab_Time.AutoSize = true;
|
||||||
|
this.lab_Time.Location = new System.Drawing.Point(116, 74);
|
||||||
|
this.lab_Time.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
|
this.lab_Time.Name = "lab_Time";
|
||||||
|
this.lab_Time.Size = new System.Drawing.Size(87, 16);
|
||||||
|
this.lab_Time.TabIndex = 13;
|
||||||
|
this.lab_Time.Text = "00:00:00";
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
this.label2.AutoSize = true;
|
||||||
|
this.label2.Location = new System.Drawing.Point(25, 74);
|
||||||
|
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
this.label2.Size = new System.Drawing.Size(87, 16);
|
||||||
|
this.label2.TabIndex = 12;
|
||||||
|
this.label2.Text = "录制时间:";
|
||||||
|
//
|
||||||
|
// btn_EndVideo
|
||||||
|
//
|
||||||
|
this.btn_EndVideo.Location = new System.Drawing.Point(255, 23);
|
||||||
|
this.btn_EndVideo.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.btn_EndVideo.Name = "btn_EndVideo";
|
||||||
|
this.btn_EndVideo.Size = new System.Drawing.Size(112, 32);
|
||||||
|
this.btn_EndVideo.TabIndex = 11;
|
||||||
|
this.btn_EndVideo.Text = "停止录像(F8)";
|
||||||
|
this.btn_EndVideo.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_EndVideo.Click += new System.EventHandler(this.btn_EndVideo_Click);
|
||||||
|
//
|
||||||
|
// btn_PauseVideo
|
||||||
|
//
|
||||||
|
this.btn_PauseVideo.Location = new System.Drawing.Point(132, 23);
|
||||||
|
this.btn_PauseVideo.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.btn_PauseVideo.Name = "btn_PauseVideo";
|
||||||
|
this.btn_PauseVideo.Size = new System.Drawing.Size(119, 32);
|
||||||
|
this.btn_PauseVideo.TabIndex = 10;
|
||||||
|
this.btn_PauseVideo.Text = "暂停录像(F7)";
|
||||||
|
this.btn_PauseVideo.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_PauseVideo.Click += new System.EventHandler(this.btn_PauseVideo_Click);
|
||||||
|
//
|
||||||
|
// btn_StartVideo
|
||||||
|
//
|
||||||
|
this.btn_StartVideo.Location = new System.Drawing.Point(15, 23);
|
||||||
|
this.btn_StartVideo.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.btn_StartVideo.Name = "btn_StartVideo";
|
||||||
|
this.btn_StartVideo.Size = new System.Drawing.Size(113, 32);
|
||||||
|
this.btn_StartVideo.TabIndex = 9;
|
||||||
|
this.btn_StartVideo.Text = "开始录像(F6)";
|
||||||
|
this.btn_StartVideo.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_StartVideo.Click += new System.EventHandler(this.btn_StartVideo_Click);
|
||||||
|
//
|
||||||
|
// groupBox2
|
||||||
|
//
|
||||||
|
this.groupBox2.Controls.Add(this.button5);
|
||||||
|
this.groupBox2.Controls.Add(this.txt_h);
|
||||||
|
this.groupBox2.Controls.Add(this.lab_h);
|
||||||
|
this.groupBox2.Controls.Add(this.txt_w);
|
||||||
|
this.groupBox2.Controls.Add(this.lab_w);
|
||||||
|
this.groupBox2.Controls.Add(this.txt_y);
|
||||||
|
this.groupBox2.Controls.Add(this.lab_y);
|
||||||
|
this.groupBox2.Controls.Add(this.txt_x);
|
||||||
|
this.groupBox2.Controls.Add(this.lab_x);
|
||||||
|
this.groupBox2.Controls.Add(this.checkBox1);
|
||||||
|
this.groupBox2.Controls.Add(this.label5);
|
||||||
|
this.groupBox2.Controls.Add(this.label4);
|
||||||
|
this.groupBox2.Controls.Add(this.button3);
|
||||||
|
this.groupBox2.Controls.Add(this.button2);
|
||||||
|
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.groupBox2.Font = new System.Drawing.Font("宋体", 12F);
|
||||||
|
this.groupBox2.Location = new System.Drawing.Point(3, 17);
|
||||||
|
this.groupBox2.Name = "groupBox2";
|
||||||
|
this.groupBox2.Size = new System.Drawing.Size(556, 140);
|
||||||
|
this.groupBox2.TabIndex = 18;
|
||||||
|
this.groupBox2.TabStop = false;
|
||||||
|
this.groupBox2.Text = "病理";
|
||||||
|
//
|
||||||
|
// button5
|
||||||
|
//
|
||||||
|
this.button5.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button5.Location = new System.Drawing.Point(388, 98);
|
||||||
|
this.button5.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.button5.Name = "button5";
|
||||||
|
this.button5.Size = new System.Drawing.Size(127, 31);
|
||||||
|
this.button5.TabIndex = 30;
|
||||||
|
this.button5.Text = "图片转换成DCM";
|
||||||
|
this.button5.UseVisualStyleBackColor = true;
|
||||||
|
this.button5.Visible = false;
|
||||||
|
this.button5.Click += new System.EventHandler(this.button5_Click);
|
||||||
|
//
|
||||||
|
// txt_h
|
||||||
|
//
|
||||||
|
this.txt_h.Location = new System.Drawing.Point(487, 25);
|
||||||
|
this.txt_h.Name = "txt_h";
|
||||||
|
this.txt_h.Size = new System.Drawing.Size(28, 26);
|
||||||
|
this.txt_h.TabIndex = 25;
|
||||||
|
//
|
||||||
|
// lab_h
|
||||||
|
//
|
||||||
|
this.lab_h.AutoSize = true;
|
||||||
|
this.lab_h.Location = new System.Drawing.Point(466, 31);
|
||||||
|
this.lab_h.Name = "lab_h";
|
||||||
|
this.lab_h.Size = new System.Drawing.Size(15, 16);
|
||||||
|
this.lab_h.TabIndex = 24;
|
||||||
|
this.lab_h.Text = "h";
|
||||||
|
//
|
||||||
|
// txt_w
|
||||||
|
//
|
||||||
|
this.txt_w.Location = new System.Drawing.Point(430, 25);
|
||||||
|
this.txt_w.Name = "txt_w";
|
||||||
|
this.txt_w.Size = new System.Drawing.Size(28, 26);
|
||||||
|
this.txt_w.TabIndex = 23;
|
||||||
|
//
|
||||||
|
// lab_w
|
||||||
|
//
|
||||||
|
this.lab_w.AutoSize = true;
|
||||||
|
this.lab_w.Location = new System.Drawing.Point(409, 31);
|
||||||
|
this.lab_w.Name = "lab_w";
|
||||||
|
this.lab_w.Size = new System.Drawing.Size(15, 16);
|
||||||
|
this.lab_w.TabIndex = 22;
|
||||||
|
this.lab_w.Text = "w";
|
||||||
|
//
|
||||||
|
// txt_y
|
||||||
|
//
|
||||||
|
this.txt_y.Location = new System.Drawing.Point(377, 25);
|
||||||
|
this.txt_y.Name = "txt_y";
|
||||||
|
this.txt_y.Size = new System.Drawing.Size(28, 26);
|
||||||
|
this.txt_y.TabIndex = 21;
|
||||||
|
//
|
||||||
|
// lab_y
|
||||||
|
//
|
||||||
|
this.lab_y.AutoSize = true;
|
||||||
|
this.lab_y.Location = new System.Drawing.Point(356, 31);
|
||||||
|
this.lab_y.Name = "lab_y";
|
||||||
|
this.lab_y.Size = new System.Drawing.Size(15, 16);
|
||||||
|
this.lab_y.TabIndex = 20;
|
||||||
|
this.lab_y.Text = "y";
|
||||||
|
//
|
||||||
|
// txt_x
|
||||||
|
//
|
||||||
|
this.txt_x.Location = new System.Drawing.Point(319, 25);
|
||||||
|
this.txt_x.Name = "txt_x";
|
||||||
|
this.txt_x.Size = new System.Drawing.Size(28, 26);
|
||||||
|
this.txt_x.TabIndex = 19;
|
||||||
|
//
|
||||||
|
// lab_x
|
||||||
|
//
|
||||||
|
this.lab_x.AutoSize = true;
|
||||||
|
this.lab_x.Location = new System.Drawing.Point(298, 28);
|
||||||
|
this.lab_x.Name = "lab_x";
|
||||||
|
this.lab_x.Size = new System.Drawing.Size(15, 16);
|
||||||
|
this.lab_x.TabIndex = 18;
|
||||||
|
this.lab_x.Text = "x";
|
||||||
|
//
|
||||||
|
// checkBox1
|
||||||
|
//
|
||||||
|
this.checkBox1.AutoSize = true;
|
||||||
|
this.checkBox1.Location = new System.Drawing.Point(145, 27);
|
||||||
|
this.checkBox1.Name = "checkBox1";
|
||||||
|
this.checkBox1.Size = new System.Drawing.Size(154, 20);
|
||||||
|
this.checkBox1.TabIndex = 17;
|
||||||
|
this.checkBox1.Text = "是否开启区域截图";
|
||||||
|
this.checkBox1.UseVisualStyleBackColor = true;
|
||||||
|
this.checkBox1.Click += new System.EventHandler(this.checkBox1_Click);
|
||||||
|
//
|
||||||
|
// label5
|
||||||
|
//
|
||||||
|
this.label5.AutoSize = true;
|
||||||
|
this.label5.Location = new System.Drawing.Point(239, 66);
|
||||||
|
this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
|
this.label5.Name = "label5";
|
||||||
|
this.label5.Size = new System.Drawing.Size(15, 16);
|
||||||
|
this.label5.TabIndex = 16;
|
||||||
|
this.label5.Text = "0";
|
||||||
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
this.label4.AutoSize = true;
|
||||||
|
this.label4.Location = new System.Drawing.Point(142, 66);
|
||||||
|
this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
this.label4.Size = new System.Drawing.Size(87, 16);
|
||||||
|
this.label4.TabIndex = 16;
|
||||||
|
this.label4.Text = "截图数量:";
|
||||||
|
//
|
||||||
|
// button3
|
||||||
|
//
|
||||||
|
this.button3.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button3.Location = new System.Drawing.Point(19, 59);
|
||||||
|
this.button3.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.button3.Name = "button3";
|
||||||
|
this.button3.Size = new System.Drawing.Size(112, 31);
|
||||||
|
this.button3.TabIndex = 16;
|
||||||
|
this.button3.Text = "上传";
|
||||||
|
this.button3.UseVisualStyleBackColor = true;
|
||||||
|
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||||
|
//
|
||||||
|
// button2
|
||||||
|
//
|
||||||
|
this.button2.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.button2.Location = new System.Drawing.Point(19, 24);
|
||||||
|
this.button2.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.button2.Name = "button2";
|
||||||
|
this.button2.Size = new System.Drawing.Size(109, 31);
|
||||||
|
this.button2.TabIndex = 16;
|
||||||
|
this.button2.Text = "开启截图";
|
||||||
|
this.button2.UseVisualStyleBackColor = true;
|
||||||
|
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||||
|
//
|
||||||
|
// groupBox3
|
||||||
|
//
|
||||||
|
this.groupBox3.Controls.Add(this.groupBox1);
|
||||||
|
this.groupBox3.Controls.Add(this.gb_ButtonBox);
|
||||||
|
this.groupBox3.Controls.Add(this.groupBox2);
|
||||||
|
this.groupBox3.Dock = System.Windows.Forms.DockStyle.Left;
|
||||||
|
this.groupBox3.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.groupBox3.Name = "groupBox3";
|
||||||
|
this.groupBox3.Size = new System.Drawing.Size(562, 994);
|
||||||
|
this.groupBox3.TabIndex = 19;
|
||||||
|
this.groupBox3.TabStop = false;
|
||||||
|
this.groupBox3.Text = "操作";
|
||||||
|
//
|
||||||
|
// groupBox1
|
||||||
|
//
|
||||||
|
this.groupBox1.Controls.Add(this.dGVPatient);
|
||||||
|
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.groupBox1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.groupBox1.Location = new System.Drawing.Point(3, 361);
|
||||||
|
this.groupBox1.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.groupBox1.Name = "groupBox1";
|
||||||
|
this.groupBox1.Padding = new System.Windows.Forms.Padding(2);
|
||||||
|
this.groupBox1.Size = new System.Drawing.Size(556, 630);
|
||||||
|
this.groupBox1.TabIndex = 19;
|
||||||
|
this.groupBox1.TabStop = false;
|
||||||
|
this.groupBox1.Text = "患者信息";
|
||||||
|
//
|
||||||
|
// dGVPatient
|
||||||
|
//
|
||||||
|
this.dGVPatient.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dGVPatient.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||||
|
this.Column1,
|
||||||
|
this.name,
|
||||||
|
this.sex,
|
||||||
|
this.age,
|
||||||
|
this.jianchamingcheng,
|
||||||
|
this.kaifangsi});
|
||||||
|
this.dGVPatient.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.dGVPatient.Location = new System.Drawing.Point(2, 21);
|
||||||
|
this.dGVPatient.Name = "dGVPatient";
|
||||||
|
this.dGVPatient.ReadOnly = true;
|
||||||
|
this.dGVPatient.RowTemplate.Height = 23;
|
||||||
|
this.dGVPatient.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||||
|
this.dGVPatient.Size = new System.Drawing.Size(552, 607);
|
||||||
|
this.dGVPatient.TabIndex = 0;
|
||||||
|
this.dGVPatient.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dGVPatient_CellDoubleClick);
|
||||||
|
//
|
||||||
|
// Column1
|
||||||
|
//
|
||||||
|
this.Column1.DataPropertyName = "jianchaid";
|
||||||
|
this.Column1.HeaderText = "检查ID";
|
||||||
|
this.Column1.Name = "Column1";
|
||||||
|
this.Column1.ReadOnly = true;
|
||||||
|
//
|
||||||
|
// name
|
||||||
|
//
|
||||||
|
this.name.DataPropertyName = "name";
|
||||||
|
this.name.HeaderText = "姓名";
|
||||||
|
this.name.Name = "name";
|
||||||
|
this.name.ReadOnly = true;
|
||||||
|
this.name.Width = 70;
|
||||||
|
//
|
||||||
|
// sex
|
||||||
|
//
|
||||||
|
this.sex.DataPropertyName = "sex";
|
||||||
|
this.sex.HeaderText = "性别";
|
||||||
|
this.sex.Name = "sex";
|
||||||
|
this.sex.ReadOnly = true;
|
||||||
|
this.sex.Width = 70;
|
||||||
|
//
|
||||||
|
// age
|
||||||
|
//
|
||||||
|
this.age.DataPropertyName = "age";
|
||||||
|
this.age.HeaderText = "年龄";
|
||||||
|
this.age.Name = "age";
|
||||||
|
this.age.ReadOnly = true;
|
||||||
|
this.age.Width = 70;
|
||||||
|
//
|
||||||
|
// jianchamingcheng
|
||||||
|
//
|
||||||
|
this.jianchamingcheng.DataPropertyName = "jianchamingcheng";
|
||||||
|
this.jianchamingcheng.HeaderText = "检查项目";
|
||||||
|
this.jianchamingcheng.Name = "jianchamingcheng";
|
||||||
|
this.jianchamingcheng.ReadOnly = true;
|
||||||
|
//
|
||||||
|
// kaifangsi
|
||||||
|
//
|
||||||
|
this.kaifangsi.DataPropertyName = "kaifangsj";
|
||||||
|
this.kaifangsi.HeaderText = "日期";
|
||||||
|
this.kaifangsi.Name = "kaifangsi";
|
||||||
|
this.kaifangsi.ReadOnly = true;
|
||||||
|
//
|
||||||
|
// gb_CameraPanel
|
||||||
|
//
|
||||||
|
this.gb_CameraPanel.Controls.Add(this.vsp_Panel);
|
||||||
|
this.gb_CameraPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.gb_CameraPanel.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.gb_CameraPanel.Location = new System.Drawing.Point(562, 0);
|
||||||
|
this.gb_CameraPanel.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.gb_CameraPanel.Name = "gb_CameraPanel";
|
||||||
|
this.gb_CameraPanel.Padding = new System.Windows.Forms.Padding(2);
|
||||||
|
this.gb_CameraPanel.Size = new System.Drawing.Size(1153, 994);
|
||||||
|
this.gb_CameraPanel.TabIndex = 20;
|
||||||
|
this.gb_CameraPanel.TabStop = false;
|
||||||
|
this.gb_CameraPanel.Text = "拍摄";
|
||||||
|
//
|
||||||
|
// vsp_Panel
|
||||||
|
//
|
||||||
|
this.vsp_Panel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.vsp_Panel.Location = new System.Drawing.Point(2, 21);
|
||||||
|
this.vsp_Panel.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.vsp_Panel.Name = "vsp_Panel";
|
||||||
|
this.vsp_Panel.Size = new System.Drawing.Size(1149, 971);
|
||||||
|
this.vsp_Panel.TabIndex = 1;
|
||||||
|
this.vsp_Panel.VideoSource = null;
|
||||||
|
//
|
||||||
|
// backgroundWorker1
|
||||||
|
//
|
||||||
|
this.backgroundWorker1.WorkerReportsProgress = true;
|
||||||
|
this.backgroundWorker1.WorkerSupportsCancellation = true;
|
||||||
|
this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
|
||||||
|
this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
|
||||||
|
//
|
||||||
|
// video
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(1715, 994);
|
||||||
|
this.Controls.Add(this.gb_CameraPanel);
|
||||||
|
this.Controls.Add(this.groupBox3);
|
||||||
|
this.DoubleBuffered = true;
|
||||||
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.Name = "video";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "视频采集";
|
||||||
|
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
|
||||||
|
this.Load += new System.EventHandler(this.Form1_Load);
|
||||||
|
this.gb_ButtonBox.ResumeLayout(false);
|
||||||
|
this.gb_ButtonBox.PerformLayout();
|
||||||
|
this.groupBox2.ResumeLayout(false);
|
||||||
|
this.groupBox2.PerformLayout();
|
||||||
|
this.groupBox3.ResumeLayout(false);
|
||||||
|
this.groupBox1.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dGVPatient)).EndInit();
|
||||||
|
this.gb_CameraPanel.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
private System.Windows.Forms.ComboBox cb_CameraSelect;
|
||||||
|
private System.Windows.Forms.Button btn_Capture;
|
||||||
|
private System.Windows.Forms.Button btn_Close;
|
||||||
|
private System.Windows.Forms.GroupBox gb_ButtonBox;
|
||||||
|
private System.Windows.Forms.Button btn_EndVideo;
|
||||||
|
private System.Windows.Forms.Button btn_PauseVideo;
|
||||||
|
private System.Windows.Forms.Button btn_StartVideo;
|
||||||
|
private System.Windows.Forms.Button btn_Connect;
|
||||||
|
private System.Windows.Forms.Label lab_Time;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox2;
|
||||||
|
private System.Windows.Forms.Button button3;
|
||||||
|
private System.Windows.Forms.Button button2;
|
||||||
|
private System.Windows.Forms.Label label4;
|
||||||
|
private System.Windows.Forms.Label label5;
|
||||||
|
private System.Windows.Forms.TextBox txt_h;
|
||||||
|
private System.Windows.Forms.Label lab_h;
|
||||||
|
private System.Windows.Forms.TextBox txt_w;
|
||||||
|
private System.Windows.Forms.Label lab_w;
|
||||||
|
private System.Windows.Forms.TextBox txt_y;
|
||||||
|
private System.Windows.Forms.Label lab_y;
|
||||||
|
private System.Windows.Forms.TextBox txt_x;
|
||||||
|
private System.Windows.Forms.Label lab_x;
|
||||||
|
private System.Windows.Forms.CheckBox checkBox1;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox3;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox1;
|
||||||
|
private System.Windows.Forms.GroupBox gb_CameraPanel;
|
||||||
|
private AForge.Controls.VideoSourcePlayer vsp_Panel;
|
||||||
|
private System.Windows.Forms.DataGridView dGVPatient;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn name;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn sex;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn age;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn jianchamingcheng;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn kaifangsi;
|
||||||
|
private System.Windows.Forms.Button button4;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.Label label6;
|
||||||
|
private System.ComponentModel.BackgroundWorker backgroundWorker1;
|
||||||
|
private System.Windows.Forms.Button button1;
|
||||||
|
private System.Windows.Forms.Label label3;
|
||||||
|
private System.Windows.Forms.Button button5;
|
||||||
|
private System.Windows.Forms.Button button6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
161
video.resx
Normal file
161
video.resx
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
<?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="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="sex.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="age.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="jianchamingcheng.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="kaifangsi.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAADJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQoAAAAAAADJsQrJsQrJ
|
||||||
|
sQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrIsArJsQoAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJsQrIsArJsQoAAAAAAAAAAAAAAADJsQrJsQrJsQrJsQrIsAkA
|
||||||
|
AAAAAAAAAAAAAADJsQrIsArJsQoAAAAAAADJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQoAAAAAAADJ
|
||||||
|
sQrIsArJsQoAAADJsQrJsQoAAAAAAADJsQrJsQrJsQoAAAAAAADJsQrJsQoAAADJsQrIsArJsQoAAAAA
|
||||||
|
AADJsQoAAADJsQrJsQrJsQrJsQrJsQoAAADJsQoAAAAAAADJsQrIsArJsQoAAAAAAADJsQoAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAADJsQoAAAAAAADJsQrIsArJsQoAAAAAAADJsQrJsQoAAADJsQrJsQrJsQoAAADJ
|
||||||
|
sQrJsQoAAAAAAADJsQrIsArJsQoAAAAAAAAAAADJsQoAAAAAAAAAAAAAAAAAAADJsQoAAAAAAAAAAADJ
|
||||||
|
sQrIsArJsQoAAAAAAAAAAADJsQrJsQrJsQrJsQrJsQrJsQrJsQoAAAAAAAAAAADJsQrIsArJsQoAAAAA
|
||||||
|
AAAAAAAAAADJsQrJsQrJsQrJsQrJsQrIrQkAAAAAAAAAAADJsQrIsArJsQoAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJsQoAAADJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJ
|
||||||
|
sQrJsQrJsQrJsQrJsQoAAAAAAADJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQrJsQoA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAQAAgAAAAD/+
|
||||||
|
AAA8HgAAMAYAACYyAAA0FgAAN/YAADImAAA77gAAOA4AADwOAAA//gAAgAAAAMABAAD//wAA
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
189
videoGather.csproj
Normal file
189
videoGather.csproj
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{2990C129-31D9-4AA3-B10D-D2773F140FF4}</ProjectGuid>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<RootNamespace>videoGather</RootNamespace>
|
||||||
|
<AssemblyName>videoGather</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<OutputPath>bin\x86\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<ApplicationIcon>超声.ico</ApplicationIcon>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="AForge, Version=2.2.5.0, Culture=neutral, PublicKeyToken=c1db6ff4eaa06aeb, processorArchitecture=MSIL">
|
||||||
|
<HintPath>packages\AForge.2.2.5\lib\AForge.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AForge.Controls, Version=2.2.5.0, Culture=neutral, PublicKeyToken=a8ac264d1dc6b9d9, processorArchitecture=MSIL">
|
||||||
|
<HintPath>packages\AForge.Controls.2.2.5\lib\AForge.Controls.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AForge.Imaging, Version=2.2.5.0, Culture=neutral, PublicKeyToken=ba8ddea9676ca48b, processorArchitecture=MSIL">
|
||||||
|
<HintPath>packages\AForge.Imaging.2.2.5\lib\AForge.Imaging.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AForge.Math, Version=2.2.5.0, Culture=neutral, PublicKeyToken=abba2e25397ee8c9, processorArchitecture=MSIL">
|
||||||
|
<HintPath>packages\AForge.Math.2.2.5\lib\AForge.Math.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AForge.Video, Version=2.2.5.0, Culture=neutral, PublicKeyToken=cbfb6e07d173c401, processorArchitecture=MSIL">
|
||||||
|
<HintPath>packages\AForge.Video.2.2.5\lib\AForge.Video.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AForge.Video.DirectShow, Version=2.2.5.0, Culture=neutral, PublicKeyToken=61ea4348d43881b7, processorArchitecture=MSIL">
|
||||||
|
<HintPath>packages\AForge.Video.DirectShow.2.2.5\lib\AForge.Video.DirectShow.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AForge.Video.FFMPEG, Version=2.2.5.0, Culture=neutral, PublicKeyToken=03563089b1be05dd, processorArchitecture=x86">
|
||||||
|
<HintPath>packages\AForge.Video.FFMPEG.2.2.5.1-rc\lib\AForge.Video.FFMPEG.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Dicom.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=3a13f649e28eb09a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>packages\fo-dicom.Desktop.4.0.0\lib\net45\Dicom.Core.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
|
<HintPath>packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="PresentationFramework" />
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Deployment" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="ExamRecord.cs" />
|
||||||
|
<Compile Include="ExamRecords.cs" />
|
||||||
|
<Compile Include="FlyHisEcgdataModel.cs" />
|
||||||
|
<Compile Include="FlyHisTokenMsg.cs" />
|
||||||
|
<Compile Include="FtpHelper.cs" />
|
||||||
|
<Compile Include="HisInfo.cs" />
|
||||||
|
<Compile Include="Imaganddcm.cs" />
|
||||||
|
<Compile Include="ImageInfo.cs" />
|
||||||
|
<Compile Include="InfoForm.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="InfoForm.Designer.cs">
|
||||||
|
<DependentUpon>InfoForm.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="insimagescreenshotVO.cs" />
|
||||||
|
<Compile Include="MsgInfo.cs" />
|
||||||
|
<Compile Include="Patient.cs" />
|
||||||
|
<Compile Include="ProcessForm.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ProcessForm.Designer.cs">
|
||||||
|
<DependentUpon>ProcessForm.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="SaveFile.cs" />
|
||||||
|
<Compile Include="Series.cs" />
|
||||||
|
<Compile Include="StudyInfo.cs" />
|
||||||
|
<Compile Include="video.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="video.Designer.cs">
|
||||||
|
<DependentUpon>video.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<EmbeddedResource Include="InfoForm.resx">
|
||||||
|
<DependentUpon>InfoForm.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="ProcessForm.resx">
|
||||||
|
<DependentUpon>ProcessForm.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="video.resx">
|
||||||
|
<DependentUpon>video.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
</Compile>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
<None Include="Properties\Settings.settings">
|
||||||
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
<Compile Include="Properties\Settings.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="超声.ico" />
|
||||||
|
<Content Include="超声诊断仪.ico" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Import Project="packages\Accord.3.8.2-alpha\build\Accord.targets" Condition="Exists('packages\Accord.3.8.2-alpha\build\Accord.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('packages\Accord.3.8.2-alpha\build\Accord.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Accord.3.8.2-alpha\build\Accord.targets'))" />
|
||||||
|
<Error Condition="!Exists('packages\Accord.Video.FFMPEG.3.8.2-alpha\build\Accord.Video.FFMPEG.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Accord.Video.FFMPEG.3.8.2-alpha\build\Accord.Video.FFMPEG.targets'))" />
|
||||||
|
<Error Condition="!Exists('packages\fo-dicom.Desktop.4.0.0\build\net45\fo-dicom.Desktop.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\fo-dicom.Desktop.4.0.0\build\net45\fo-dicom.Desktop.targets'))" />
|
||||||
|
</Target>
|
||||||
|
<Import Project="packages\Accord.Video.FFMPEG.3.8.2-alpha\build\Accord.Video.FFMPEG.targets" Condition="Exists('packages\Accord.Video.FFMPEG.3.8.2-alpha\build\Accord.Video.FFMPEG.targets')" />
|
||||||
|
<Import Project="packages\fo-dicom.Desktop.4.0.0\build\net45\fo-dicom.Desktop.targets" Condition="Exists('packages\fo-dicom.Desktop.4.0.0\build\net45\fo-dicom.Desktop.targets')" />
|
||||||
|
</Project>
|
31
videoGather.sln
Normal file
31
videoGather.sln
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.10.34916.146
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "videoGather", "videoGather.csproj", "{2990C129-31D9-4AA3-B10D-D2773F140FF4}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{2990C129-31D9-4AA3-B10D-D2773F140FF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{2990C129-31D9-4AA3-B10D-D2773F140FF4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{2990C129-31D9-4AA3-B10D-D2773F140FF4}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{2990C129-31D9-4AA3-B10D-D2773F140FF4}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{2990C129-31D9-4AA3-B10D-D2773F140FF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2990C129-31D9-4AA3-B10D-D2773F140FF4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{2990C129-31D9-4AA3-B10D-D2773F140FF4}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{2990C129-31D9-4AA3-B10D-D2773F140FF4}.Release|x86.Build.0 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {3E17FD25-7A81-4A33-875D-BBE10821FECA}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
Loading…
Reference in New Issue
Block a user