1、修改Halcon取图工具,对功能进行拆分,简化逻辑

2、修改PMA工具,修正其中的bug
3、其他BUG修复
This commit is contained in:
liu.wenjie
2022-04-08 15:31:57 +08:00
parent 159fb6b967
commit 8f7a1e0ffd
52 changed files with 1360 additions and 1457 deletions

Binary file not shown.

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CaliperTool</RootNamespace>
<AssemblyName>CaliperTool</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CommonMethods</RootNamespace>
<AssemblyName>CommonMethods</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DataStruct</RootNamespace>
<AssemblyName>DataStruct</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FindCircleTool</RootNamespace>
<AssemblyName>FindCircleTool</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>

View File

@@ -346,46 +346,6 @@ namespace FindLineTool
//arrowTrans.Dispose();
}
}
internal void DrawExpectLine(HWindow myHwindow)
{
/*
if(inputImage != null)
{
try
{
HOperatorSet.SetColor(myHwindow, new HTuple("green"));
Stopwatch sw = new Stopwatch();
sw.Restart();
HOperatorSet.DrawLineMod(myHwindow, newExpectLineStartRow, newExpectLineStartCol, newExpectLineEndRow, newExpectLineEndCol, out expectLineStartRow, out expectLineStartCol, out expectLineEndRow, out expectLineEndCol);
if (inputPose != null)
{
templatePose.X = inputPose.X;
templatePose.Y = inputPose.Y;
templatePose.U = inputPose.U;
}
FormFindLine.Instance.tbx_expectLineStartRow.Text = expectLineStartRow.TupleString("10.3f");
FormFindLine.Instance.tbx_expectLineStartCol.Text = expectLineStartCol.TupleString("10.3f");
FormFindLine.Instance.tbx_expectLineEndRow.Text = expectLineEndRow.TupleString("10.3f");
FormFindLine.Instance.tbx_expectLineEndCol.Text = expectLineEndCol.TupleString("10.3f");
Run(SoftwareRunState.Debug);
}
catch (Exception ex)
{
FormFindLine.Instance.SetToolStatus($"编辑卡尺时工具出现异常!{ex}", ToolRunStatu.Tool_Run_Error);
}
}
else
{
FormFindLine.Instance.SetToolStatus("输入图像为空!", ToolRunStatu.Not_Input_Image);
}
*/
}
/// <summary>
/// 将数据传递给FindlineToolInterface
/// </summary>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FindLineTool</RootNamespace>
<AssemblyName>FindLineTool</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>

View File

@@ -25,6 +25,7 @@ using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using ToolLib.VisionJob;
using static DataStruct.DataStruct;
namespace FindLineTool
{
@@ -38,18 +39,30 @@ namespace FindLineTool
{
if (L_toolList[toolIndex].GetInput(L_toolList[toolIndex].toolInput[j].IOName).value == null)
{
selectNode.ForeColor = Color.Red;
LoggerClass.WriteLog(L_toolList[toolIndex].toolName + " 无输入图像", MsgLevel.Exception);
// 仅当无输入图像时,将工具置为错误
if (L_toolList[toolIndex].toolInput[j].IOName == "InputImage")
{
selectNode.ForeColor = Color.Red;
LoggerClass.WriteLog(L_toolList[toolIndex].toolName + " 无输入图像", MsgLevel.Exception);
myFindLine.runMessage = "无输入图像";
}
}
else
{
string sourceFrom = L_toolList[toolIndex].GetInput(L_toolList[toolIndex].toolInput[j].IOName).value.ToString();
if (L_toolList[toolIndex].toolInput[j].IOName == "InputImage")
string sourceToolName = Regex.Split(sourceFrom, "->")[0];
sourceToolName = sourceToolName.Substring(3, Regex.Split(sourceFrom, "->")[0].Length - 3);
string toolItem = Regex.Split(sourceFrom, "->")[1];
switch (L_toolList[toolIndex].toolInput[j].IOName)
{
string sourceToolName = Regex.Split(sourceFrom, "->")[0];
sourceToolName = sourceToolName.Substring(3, Regex.Split(sourceFrom, "->")[0].Length - 3);
string toolItem = Regex.Split(sourceFrom, "->")[1];
myFindLine.inputImage = myJob.GetToolInfoByToolName(sourceToolName).GetOutput(toolItem).value as HObject;
case "InputImage":
myFindLine.inputImage = myJob.GetToolInfoByToolName(sourceToolName).GetOutput(toolItem).value as HObject;
break;
case "InputPos":
myFindLine.inputPose = myJob.GetToolInfoByToolName(sourceToolName).GetOutput(toolItem).value as PosXYU;
break;
default:
break;
}
}
}

View File

@@ -42,5 +42,10 @@ namespace FormLib
this.panel1.Controls.Add(myHWindow);
myHWindow.Dock = DockStyle.Fill;
}
public void ClearWindow()
{
myHWindow.DispHWindow.ClearWindow();
}
}
}

View File

@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FormLib</RootNamespace>
<AssemblyName>FormLib</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -78,18 +79,10 @@
<Project>{1c8d0ddc-2086-48a9-9586-f2b643e2fc54}</Project>
<Name>CommonHelper</Name>
</ProjectReference>
<ProjectReference Include="..\DataStruct\DataStruct.csproj">
<Project>{df3d4d4c-02df-4f92-9fd4-0a861f64b0ef}</Project>
<Name>DataStruct</Name>
</ProjectReference>
<ProjectReference Include="..\ImageWindow\HWindow_Tool.csproj">
<Project>{9BAA53FD-89B5-43E2-AC59-A27B006DEBB6}</Project>
<Name>HWindow_Tool</Name>
</ProjectReference>
<ProjectReference Include="..\ToolBase\ToolBase.csproj">
<Project>{7cd50b44-bf56-4e8e-8fa1-05f6968c1835}</Project>
<Name>ToolBase</Name>
</ProjectReference>
<ProjectReference Include="..\ToolLib.Log\Logger\Logger.csproj">
<Project>{D4E052B9-E541-4B67-A1F9-273073EF1D4B}</Project>
<Name>Logger</Name>

View File

@@ -30,62 +30,31 @@ namespace HalconTool
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormHalconTool));
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl();
this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel();
this.panelMultImage = new System.Windows.Forms.Panel();
this.gpb_multImage = new System.Windows.Forms.GroupBox();
this.btn_selectImageDirectory = new System.Windows.Forms.Button();
this.lbl_imageNum = new System.Windows.Forms.Label();
this.lbl_imageName = new System.Windows.Forms.Label();
this.btn_lastImage = new System.Windows.Forms.Button();
this.btn_nextImage = new System.Windows.Forms.Button();
this.tbx_imageDirectory = new System.Windows.Forms.TextBox();
this.panelOneImage = new System.Windows.Forms.Panel();
this.gpb_oneImage = new System.Windows.Forms.GroupBox();
this.btn_readImage = new System.Windows.Forms.Button();
this.tbx_imagePath = new System.Windows.Forms.TextBox();
this.btn_browseImage = new System.Windows.Forms.Button();
this.ckb_autoSwitch = new System.Windows.Forms.CheckBox();
this.btn_runHalconInterfaceTool = new System.Windows.Forms.Button();
this.btn_registImage = new System.Windows.Forms.Button();
this.rdo_readOneImage = new System.Windows.Forms.RadioButton();
this.rdo_readMultImage = new System.Windows.Forms.RadioButton();
this.ckb_RGBToGray = new System.Windows.Forms.CheckBox();
this.tabReadFormLocal = new DevComponents.DotNetBar.SuperTabItem();
this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.btn_RealTime = new System.Windows.Forms.Button();
this.cbx_deviceList = new System.Windows.Forms.ComboBox();
this.button1 = new System.Windows.Forms.Button();
this.label148 = new System.Windows.Forms.Label();
this.tbx_exposure = new System.Windows.Forms.TextBox();
this.button2 = new System.Windows.Forms.Button();
this.label147 = new System.Windows.Forms.Label();
this.btn_saveImage = new System.Windows.Forms.Button();
this.label123 = new System.Windows.Forms.Label();
this.tabReadFormCamera = new DevComponents.DotNetBar.SuperTabItem();
this.superTabControl2 = new DevComponents.DotNetBar.SuperTabControl();
this.imageDispPanel = new DevComponents.DotNetBar.SuperTabControlPanel();
this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem();
this.statusStrip = new System.Windows.Forms.StatusStrip();
this.lb_RunStatus = new System.Windows.Forms.ToolStripStatusLabel();
this.lb_Split = new System.Windows.Forms.ToolStripStatusLabel();
this.lb_RunTime = new System.Windows.Forms.ToolStripStatusLabel();
this.tabGrabImage = new Sunny.UI.UITabControl();
this.grabFile = new System.Windows.Forms.TabPage();
this.camera = new System.Windows.Forms.TabPage();
this.gbImageDisp = new Sunny.UI.UIGroupBox();
this.uiMarkLabel2 = new Sunny.UI.UIMarkLabel();
this.uiLabel1 = new Sunny.UI.UILabel();
this.txbFilePath = new Sunny.UI.UITextBox();
this.btnSelectFilePath = new Sunny.UI.UISymbolButton();
this.btnRun = new Sunny.UI.UISymbolButton();
this.uiGroupBox2 = new Sunny.UI.UIGroupBox();
this.uiGroupBox3 = new Sunny.UI.UIGroupBox();
this.chbRGB2Gray = new Sunny.UI.UICheckBox();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit();
this.superTabControl1.SuspendLayout();
this.superTabControlPanel1.SuspendLayout();
this.panelMultImage.SuspendLayout();
this.gpb_multImage.SuspendLayout();
this.panelOneImage.SuspendLayout();
this.gpb_oneImage.SuspendLayout();
this.superTabControlPanel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.superTabControl2)).BeginInit();
this.superTabControl2.SuspendLayout();
this.statusStrip.SuspendLayout();
this.tabGrabImage.SuspendLayout();
this.grabFile.SuspendLayout();
this.camera.SuspendLayout();
this.uiGroupBox2.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
@@ -98,521 +67,15 @@ namespace HalconTool
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.superTabControl1);
this.splitContainer1.Panel1.Controls.Add(this.tabGrabImage);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.superTabControl2);
this.splitContainer1.Panel2.Controls.Add(this.gbImageDisp);
this.splitContainer1.Size = new System.Drawing.Size(1111, 517);
this.splitContainer1.SplitterDistance = 605;
this.splitContainer1.TabIndex = 1;
//
// superTabControl1
//
this.superTabControl1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(242)))));
//
//
//
//
//
//
this.superTabControl1.ControlBox.CloseBox.Name = "";
//
//
//
this.superTabControl1.ControlBox.MenuBox.Name = "";
this.superTabControl1.ControlBox.Name = "";
this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] {
this.superTabControl1.ControlBox.MenuBox,
this.superTabControl1.ControlBox.CloseBox});
this.superTabControl1.Controls.Add(this.superTabControlPanel1);
this.superTabControl1.Controls.Add(this.superTabControlPanel2);
this.superTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.superTabControl1.ForeColor = System.Drawing.Color.Black;
this.superTabControl1.Location = new System.Drawing.Point(0, 0);
this.superTabControl1.Name = "superTabControl1";
this.superTabControl1.ReorderTabsEnabled = true;
this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold);
this.superTabControl1.SelectedTabIndex = 0;
this.superTabControl1.Size = new System.Drawing.Size(605, 517);
this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.superTabControl1.TabIndex = 1;
this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] {
this.tabReadFormLocal,
this.tabReadFormCamera});
this.superTabControl1.TabStyle = DevComponents.DotNetBar.eSuperTabStyle.OfficeMobile2014;
this.superTabControl1.Text = "superTabControl1";
//
// superTabControlPanel1
//
this.superTabControlPanel1.Controls.Add(this.panelMultImage);
this.superTabControlPanel1.Controls.Add(this.panelOneImage);
this.superTabControlPanel1.Controls.Add(this.btn_browseImage);
this.superTabControlPanel1.Controls.Add(this.ckb_autoSwitch);
this.superTabControlPanel1.Controls.Add(this.btn_runHalconInterfaceTool);
this.superTabControlPanel1.Controls.Add(this.btn_registImage);
this.superTabControlPanel1.Controls.Add(this.rdo_readOneImage);
this.superTabControlPanel1.Controls.Add(this.rdo_readMultImage);
this.superTabControlPanel1.Controls.Add(this.ckb_RGBToGray);
this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.superTabControlPanel1.Location = new System.Drawing.Point(0, 36);
this.superTabControlPanel1.Name = "superTabControlPanel1";
this.superTabControlPanel1.Size = new System.Drawing.Size(605, 481);
this.superTabControlPanel1.TabIndex = 1;
this.superTabControlPanel1.TabItem = this.tabReadFormLocal;
//
// panelMultImage
//
this.panelMultImage.BackColor = System.Drawing.Color.White;
this.panelMultImage.Controls.Add(this.gpb_multImage);
this.panelMultImage.Location = new System.Drawing.Point(77, 69);
this.panelMultImage.Name = "panelMultImage";
this.panelMultImage.Size = new System.Drawing.Size(462, 182);
this.panelMultImage.TabIndex = 92;
//
// gpb_multImage
//
this.gpb_multImage.Controls.Add(this.btn_selectImageDirectory);
this.gpb_multImage.Controls.Add(this.lbl_imageNum);
this.gpb_multImage.Controls.Add(this.lbl_imageName);
this.gpb_multImage.Controls.Add(this.btn_lastImage);
this.gpb_multImage.Controls.Add(this.btn_nextImage);
this.gpb_multImage.Controls.Add(this.tbx_imageDirectory);
this.gpb_multImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.gpb_multImage.Location = new System.Drawing.Point(6, 4);
this.gpb_multImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.gpb_multImage.Name = "gpb_multImage";
this.gpb_multImage.Padding = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.gpb_multImage.Size = new System.Drawing.Size(451, 170);
this.gpb_multImage.TabIndex = 15;
this.gpb_multImage.TabStop = false;
this.gpb_multImage.Text = "图像文件夹路径";
//
// btn_selectImageDirectory
//
this.btn_selectImageDirectory.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_selectImageDirectory.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_selectImageDirectory.Location = new System.Drawing.Point(18, 99);
this.btn_selectImageDirectory.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btn_selectImageDirectory.Name = "btn_selectImageDirectory";
this.btn_selectImageDirectory.Size = new System.Drawing.Size(98, 32);
this.btn_selectImageDirectory.TabIndex = 63;
this.btn_selectImageDirectory.Text = "选择路径";
this.btn_selectImageDirectory.UseVisualStyleBackColor = true;
this.btn_selectImageDirectory.Click += new System.EventHandler(this.btn_selectImageDirectory_Click);
//
// lbl_imageNum
//
this.lbl_imageNum.AutoSize = true;
this.lbl_imageNum.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lbl_imageNum.Location = new System.Drawing.Point(386, 70);
this.lbl_imageNum.Name = "lbl_imageNum";
this.lbl_imageNum.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.lbl_imageNum.Size = new System.Drawing.Size(39, 17);
this.lbl_imageNum.TabIndex = 62;
this.lbl_imageNum.Text = "共0张";
this.lbl_imageNum.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// lbl_imageName
//
this.lbl_imageName.AutoSize = true;
this.lbl_imageName.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lbl_imageName.Location = new System.Drawing.Point(15, 70);
this.lbl_imageName.Name = "lbl_imageName";
this.lbl_imageName.Size = new System.Drawing.Size(0, 17);
this.lbl_imageName.TabIndex = 61;
//
// btn_lastImage
//
this.btn_lastImage.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_lastImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_lastImage.Location = new System.Drawing.Point(339, 99);
this.btn_lastImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btn_lastImage.Name = "btn_lastImage";
this.btn_lastImage.Size = new System.Drawing.Size(33, 32);
this.btn_lastImage.TabIndex = 9;
this.btn_lastImage.TabStop = false;
this.btn_lastImage.Text = "<<";
this.btn_lastImage.UseVisualStyleBackColor = true;
this.btn_lastImage.Click += new System.EventHandler(this.btn_nextImage_Click);
//
// btn_nextImage
//
this.btn_nextImage.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_nextImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_nextImage.Location = new System.Drawing.Point(375, 99);
this.btn_nextImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btn_nextImage.Name = "btn_nextImage";
this.btn_nextImage.Size = new System.Drawing.Size(33, 32);
this.btn_nextImage.TabIndex = 8;
this.btn_nextImage.TabStop = false;
this.btn_nextImage.Text = ">>";
this.btn_nextImage.UseVisualStyleBackColor = true;
this.btn_nextImage.Click += new System.EventHandler(this.btn_nextImage_Click);
//
// tbx_imageDirectory
//
this.tbx_imageDirectory.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tbx_imageDirectory.Location = new System.Drawing.Point(18, 28);
this.tbx_imageDirectory.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tbx_imageDirectory.Multiline = true;
this.tbx_imageDirectory.Name = "tbx_imageDirectory";
this.tbx_imageDirectory.Size = new System.Drawing.Size(415, 38);
this.tbx_imageDirectory.TabIndex = 5;
//
// panelOneImage
//
this.panelOneImage.BackColor = System.Drawing.Color.White;
this.panelOneImage.Controls.Add(this.gpb_oneImage);
this.panelOneImage.Location = new System.Drawing.Point(79, 69);
this.panelOneImage.Name = "panelOneImage";
this.panelOneImage.Size = new System.Drawing.Size(460, 176);
this.panelOneImage.TabIndex = 91;
//
// gpb_oneImage
//
this.gpb_oneImage.BackColor = System.Drawing.Color.White;
this.gpb_oneImage.Controls.Add(this.btn_readImage);
this.gpb_oneImage.Controls.Add(this.tbx_imagePath);
this.gpb_oneImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.gpb_oneImage.Location = new System.Drawing.Point(9, 10);
this.gpb_oneImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.gpb_oneImage.Name = "gpb_oneImage";
this.gpb_oneImage.Padding = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.gpb_oneImage.Size = new System.Drawing.Size(440, 153);
this.gpb_oneImage.TabIndex = 83;
this.gpb_oneImage.TabStop = false;
this.gpb_oneImage.Text = "图像路径";
//
// btn_readImage
//
this.btn_readImage.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_readImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_readImage.Location = new System.Drawing.Point(21, 95);
this.btn_readImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btn_readImage.Name = "btn_readImage";
this.btn_readImage.Size = new System.Drawing.Size(85, 32);
this.btn_readImage.TabIndex = 3;
this.btn_readImage.Text = "加载";
this.btn_readImage.UseVisualStyleBackColor = true;
this.btn_readImage.Click += new System.EventHandler(this.btn_readImage_Click);
//
// tbx_imagePath
//
this.tbx_imagePath.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tbx_imagePath.Location = new System.Drawing.Point(18, 28);
this.tbx_imagePath.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tbx_imagePath.Name = "tbx_imagePath";
this.tbx_imagePath.Size = new System.Drawing.Size(415, 23);
this.tbx_imagePath.TabIndex = 1;
//
// btn_browseImage
//
this.btn_browseImage.BackColor = System.Drawing.Color.White;
this.btn_browseImage.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_browseImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_browseImage.Location = new System.Drawing.Point(156, 357);
this.btn_browseImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btn_browseImage.Name = "btn_browseImage";
this.btn_browseImage.Size = new System.Drawing.Size(76, 26);
this.btn_browseImage.TabIndex = 90;
this.btn_browseImage.Text = "查看图像";
this.btn_browseImage.UseVisualStyleBackColor = false;
//
// ckb_autoSwitch
//
this.ckb_autoSwitch.AutoSize = true;
this.ckb_autoSwitch.BackColor = System.Drawing.Color.White;
this.ckb_autoSwitch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ckb_autoSwitch.Location = new System.Drawing.Point(74, 322);
this.ckb_autoSwitch.Margin = new System.Windows.Forms.Padding(2);
this.ckb_autoSwitch.Name = "ckb_autoSwitch";
this.ckb_autoSwitch.Size = new System.Drawing.Size(99, 21);
this.ckb_autoSwitch.TabIndex = 82;
this.ckb_autoSwitch.Text = "图像自动切换";
this.ckb_autoSwitch.UseVisualStyleBackColor = false;
//
// btn_runHalconInterfaceTool
//
this.btn_runHalconInterfaceTool.BackColor = System.Drawing.Color.White;
this.btn_runHalconInterfaceTool.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_runHalconInterfaceTool.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_runHalconInterfaceTool.Location = new System.Drawing.Point(436, 348);
this.btn_runHalconInterfaceTool.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btn_runHalconInterfaceTool.Name = "btn_runHalconInterfaceTool";
this.btn_runHalconInterfaceTool.Size = new System.Drawing.Size(98, 45);
this.btn_runHalconInterfaceTool.TabIndex = 88;
this.btn_runHalconInterfaceTool.TabStop = false;
this.btn_runHalconInterfaceTool.Text = "运行";
this.btn_runHalconInterfaceTool.UseVisualStyleBackColor = false;
this.btn_runHalconInterfaceTool.Click += new System.EventHandler(this.btn_runHalconInterfaceTool_Click);
//
// btn_registImage
//
this.btn_registImage.BackColor = System.Drawing.Color.White;
this.btn_registImage.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_registImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_registImage.Location = new System.Drawing.Point(74, 357);
this.btn_registImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btn_registImage.Name = "btn_registImage";
this.btn_registImage.Size = new System.Drawing.Size(76, 26);
this.btn_registImage.TabIndex = 84;
this.btn_registImage.Text = "注册图像";
this.btn_registImage.UseVisualStyleBackColor = false;
//
// rdo_readOneImage
//
this.rdo_readOneImage.AutoSize = true;
this.rdo_readOneImage.BackColor = System.Drawing.Color.White;
this.rdo_readOneImage.Checked = true;
this.rdo_readOneImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.rdo_readOneImage.Location = new System.Drawing.Point(365, 25);
this.rdo_readOneImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.rdo_readOneImage.Name = "rdo_readOneImage";
this.rdo_readOneImage.Size = new System.Drawing.Size(74, 21);
this.rdo_readOneImage.TabIndex = 86;
this.rdo_readOneImage.TabStop = true;
this.rdo_readOneImage.Text = "单张图像";
this.rdo_readOneImage.UseVisualStyleBackColor = false;
this.rdo_readOneImage.Click += new System.EventHandler(this.rdo_readMultImage_CheckedChanged);
//
// rdo_readMultImage
//
this.rdo_readMultImage.AutoSize = true;
this.rdo_readMultImage.BackColor = System.Drawing.Color.White;
this.rdo_readMultImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.rdo_readMultImage.Location = new System.Drawing.Point(139, 25);
this.rdo_readMultImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.rdo_readMultImage.Name = "rdo_readMultImage";
this.rdo_readMultImage.Size = new System.Drawing.Size(74, 21);
this.rdo_readMultImage.TabIndex = 85;
this.rdo_readMultImage.Text = "多张图像";
this.rdo_readMultImage.UseVisualStyleBackColor = false;
this.rdo_readMultImage.Click += new System.EventHandler(this.rdo_readMultImage_CheckedChanged);
//
// ckb_RGBToGray
//
this.ckb_RGBToGray.AutoSize = true;
this.ckb_RGBToGray.BackColor = System.Drawing.Color.White;
this.ckb_RGBToGray.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ckb_RGBToGray.Location = new System.Drawing.Point(74, 297);
this.ckb_RGBToGray.Margin = new System.Windows.Forms.Padding(2);
this.ckb_RGBToGray.Name = "ckb_RGBToGray";
this.ckb_RGBToGray.Size = new System.Drawing.Size(99, 21);
this.ckb_RGBToGray.TabIndex = 89;
this.ckb_RGBToGray.Text = "彩图转灰度图";
this.ckb_RGBToGray.UseVisualStyleBackColor = false;
//
// tabReadFormLocal
//
this.tabReadFormLocal.AttachedControl = this.superTabControlPanel1;
this.tabReadFormLocal.GlobalItem = false;
this.tabReadFormLocal.Name = "tabReadFormLocal";
this.tabReadFormLocal.Text = "本地读取";
//
// superTabControlPanel2
//
this.superTabControlPanel2.Controls.Add(this.checkBox1);
this.superTabControlPanel2.Controls.Add(this.btn_RealTime);
this.superTabControlPanel2.Controls.Add(this.cbx_deviceList);
this.superTabControlPanel2.Controls.Add(this.button1);
this.superTabControlPanel2.Controls.Add(this.label148);
this.superTabControlPanel2.Controls.Add(this.tbx_exposure);
this.superTabControlPanel2.Controls.Add(this.button2);
this.superTabControlPanel2.Controls.Add(this.label147);
this.superTabControlPanel2.Controls.Add(this.btn_saveImage);
this.superTabControlPanel2.Controls.Add(this.label123);
this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.superTabControlPanel2.Location = new System.Drawing.Point(0, 36);
this.superTabControlPanel2.Name = "superTabControlPanel2";
this.superTabControlPanel2.Size = new System.Drawing.Size(590, 441);
this.superTabControlPanel2.TabIndex = 0;
this.superTabControlPanel2.TabItem = this.tabReadFormCamera;
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.BackColor = System.Drawing.Color.White;
this.checkBox1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.checkBox1.Location = new System.Drawing.Point(46, 164);
this.checkBox1.Margin = new System.Windows.Forms.Padding(2);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(99, 21);
this.checkBox1.TabIndex = 113;
this.checkBox1.Text = "彩图转灰度图";
this.checkBox1.UseVisualStyleBackColor = false;
//
// btn_RealTime
//
this.btn_RealTime.BackColor = System.Drawing.Color.White;
this.btn_RealTime.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_RealTime.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_RealTime.Location = new System.Drawing.Point(150, 200);
this.btn_RealTime.Margin = new System.Windows.Forms.Padding(2);
this.btn_RealTime.Name = "btn_RealTime";
this.btn_RealTime.Size = new System.Drawing.Size(76, 26);
this.btn_RealTime.TabIndex = 110;
this.btn_RealTime.Text = "实时显示";
this.btn_RealTime.UseVisualStyleBackColor = false;
//
// cbx_deviceList
//
this.cbx_deviceList.BackColor = System.Drawing.Color.Gainsboro;
this.cbx_deviceList.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbx_deviceList.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.cbx_deviceList.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbx_deviceList.FormattingEnabled = true;
this.cbx_deviceList.Items.AddRange(new object[] {
""});
this.cbx_deviceList.Location = new System.Drawing.Point(49, 61);
this.cbx_deviceList.Margin = new System.Windows.Forms.Padding(2);
this.cbx_deviceList.Name = "cbx_deviceList";
this.cbx_deviceList.Size = new System.Drawing.Size(522, 25);
this.cbx_deviceList.TabIndex = 104;
//
// button1
//
this.button1.BackColor = System.Drawing.Color.White;
this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.button1.Location = new System.Drawing.Point(460, 288);
this.button1.Margin = new System.Windows.Forms.Padding(2);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(98, 45);
this.button1.TabIndex = 109;
this.button1.Text = "运行";
this.button1.UseVisualStyleBackColor = false;
//
// label148
//
this.label148.AutoSize = true;
this.label148.BackColor = System.Drawing.Color.White;
this.label148.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label148.Location = new System.Drawing.Point(170, 107);
this.label148.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label148.Name = "label148";
this.label148.Size = new System.Drawing.Size(25, 17);
this.label148.TabIndex = 107;
this.label148.Text = "ms";
//
// tbx_exposure
//
this.tbx_exposure.BackColor = System.Drawing.Color.White;
this.tbx_exposure.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tbx_exposure.Location = new System.Drawing.Point(109, 103);
this.tbx_exposure.Margin = new System.Windows.Forms.Padding(2);
this.tbx_exposure.Name = "tbx_exposure";
this.tbx_exposure.Size = new System.Drawing.Size(61, 23);
this.tbx_exposure.TabIndex = 106;
this.tbx_exposure.Text = "0";
//
// button2
//
this.button2.BackColor = System.Drawing.Color.White;
this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.button2.Location = new System.Drawing.Point(46, 200);
this.button2.Margin = new System.Windows.Forms.Padding(2);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(76, 26);
this.button2.TabIndex = 112;
this.button2.Text = "注册图像";
this.button2.UseVisualStyleBackColor = false;
//
// label147
//
this.label147.AutoSize = true;
this.label147.BackColor = System.Drawing.Color.White;
this.label147.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label147.Location = new System.Drawing.Point(46, 106);
this.label147.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label147.Name = "label147";
this.label147.Size = new System.Drawing.Size(68, 17);
this.label147.TabIndex = 105;
this.label147.Text = "曝光时间:";
//
// btn_saveImage
//
this.btn_saveImage.BackColor = System.Drawing.Color.White;
this.btn_saveImage.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_saveImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_saveImage.Location = new System.Drawing.Point(248, 200);
this.btn_saveImage.Margin = new System.Windows.Forms.Padding(2);
this.btn_saveImage.Name = "btn_saveImage";
this.btn_saveImage.Size = new System.Drawing.Size(76, 26);
this.btn_saveImage.TabIndex = 111;
this.btn_saveImage.Text = "图像另存";
this.btn_saveImage.UseVisualStyleBackColor = false;
//
// label123
//
this.label123.AutoSize = true;
this.label123.BackColor = System.Drawing.Color.White;
this.label123.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label123.Location = new System.Drawing.Point(46, 42);
this.label123.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label123.Name = "label123";
this.label123.Size = new System.Drawing.Size(56, 17);
this.label123.TabIndex = 108;
this.label123.Text = "设备列表";
//
// tabReadFormCamera
//
this.tabReadFormCamera.AttachedControl = this.superTabControlPanel2;
this.tabReadFormCamera.GlobalItem = false;
this.tabReadFormCamera.Name = "tabReadFormCamera";
this.tabReadFormCamera.Text = "相机读取";
//
// superTabControl2
//
this.superTabControl2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(242)))));
//
//
//
//
//
//
this.superTabControl2.ControlBox.CloseBox.Name = "";
//
//
//
this.superTabControl2.ControlBox.MenuBox.Name = "";
this.superTabControl2.ControlBox.Name = "";
this.superTabControl2.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] {
this.superTabControl2.ControlBox.MenuBox,
this.superTabControl2.ControlBox.CloseBox});
this.superTabControl2.Controls.Add(this.imageDispPanel);
this.superTabControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.superTabControl2.ForeColor = System.Drawing.Color.Black;
this.superTabControl2.Location = new System.Drawing.Point(0, 0);
this.superTabControl2.Name = "superTabControl2";
this.superTabControl2.ReorderTabsEnabled = true;
this.superTabControl2.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold);
this.superTabControl2.SelectedTabIndex = 0;
this.superTabControl2.Size = new System.Drawing.Size(502, 517);
this.superTabControl2.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.superTabControl2.TabIndex = 0;
this.superTabControl2.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] {
this.superTabItem1});
this.superTabControl2.TabStyle = DevComponents.DotNetBar.eSuperTabStyle.OfficeMobile2014;
this.superTabControl2.Text = "显示图像";
//
// imageDispPanel
//
this.imageDispPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.imageDispPanel.Location = new System.Drawing.Point(0, 36);
this.imageDispPanel.Name = "imageDispPanel";
this.imageDispPanel.Size = new System.Drawing.Size(502, 481);
this.imageDispPanel.TabIndex = 1;
this.imageDispPanel.TabItem = this.superTabItem1;
//
// superTabItem1
//
this.superTabItem1.AttachedControl = this.imageDispPanel;
this.superTabItem1.GlobalItem = false;
this.superTabItem1.Name = "superTabItem1";
this.superTabItem1.Text = "显示图像";
//
// statusStrip
//
this.statusStrip.BackColor = System.Drawing.Color.White;
@@ -643,6 +106,185 @@ namespace HalconTool
this.lb_RunTime.Name = "lb_RunTime";
this.lb_RunTime.Size = new System.Drawing.Size(0, 19);
//
// tabGrabImage
//
this.tabGrabImage.Controls.Add(this.grabFile);
this.tabGrabImage.Controls.Add(this.camera);
this.tabGrabImage.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabGrabImage.DrawMode = System.Windows.Forms.TabDrawMode.OwnerDrawFixed;
this.tabGrabImage.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tabGrabImage.ItemSize = new System.Drawing.Size(150, 40);
this.tabGrabImage.Location = new System.Drawing.Point(0, 0);
this.tabGrabImage.MainPage = "";
this.tabGrabImage.Name = "tabGrabImage";
this.tabGrabImage.SelectedIndex = 0;
this.tabGrabImage.Size = new System.Drawing.Size(605, 517);
this.tabGrabImage.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.tabGrabImage.TabIndex = 0;
//
// grabFile
//
this.grabFile.Controls.Add(this.uiGroupBox3);
this.grabFile.Controls.Add(this.uiGroupBox2);
this.grabFile.Location = new System.Drawing.Point(0, 40);
this.grabFile.Name = "grabFile";
this.grabFile.Size = new System.Drawing.Size(605, 477);
this.grabFile.TabIndex = 0;
this.grabFile.Text = "本地读取";
this.grabFile.UseVisualStyleBackColor = true;
//
// camera
//
this.camera.Controls.Add(this.uiMarkLabel2);
this.camera.Location = new System.Drawing.Point(0, 40);
this.camera.Name = "camera";
this.camera.Size = new System.Drawing.Size(605, 477);
this.camera.TabIndex = 2;
this.camera.Text = "相机";
this.camera.UseVisualStyleBackColor = true;
//
// gbImageDisp
//
this.gbImageDisp.Dock = System.Windows.Forms.DockStyle.Fill;
this.gbImageDisp.FillColor = System.Drawing.Color.White;
this.gbImageDisp.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.gbImageDisp.IsScaled = false;
this.gbImageDisp.Location = new System.Drawing.Point(0, 0);
this.gbImageDisp.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.gbImageDisp.MinimumSize = new System.Drawing.Size(1, 1);
this.gbImageDisp.Name = "gbImageDisp";
this.gbImageDisp.Padding = new System.Windows.Forms.Padding(0, 32, 0, 0);
this.gbImageDisp.Size = new System.Drawing.Size(502, 517);
this.gbImageDisp.Style = Sunny.UI.UIStyle.Custom;
this.gbImageDisp.TabIndex = 0;
this.gbImageDisp.Text = "显示图像";
this.gbImageDisp.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
// uiMarkLabel2
//
this.uiMarkLabel2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiMarkLabel2.Location = new System.Drawing.Point(209, 206);
this.uiMarkLabel2.Name = "uiMarkLabel2";
this.uiMarkLabel2.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0);
this.uiMarkLabel2.Size = new System.Drawing.Size(189, 50);
this.uiMarkLabel2.TabIndex = 1;
this.uiMarkLabel2.Text = "该功能暂未实现";
this.uiMarkLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiLabel1
//
this.uiLabel1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiLabel1.Location = new System.Drawing.Point(27, 45);
this.uiLabel1.Name = "uiLabel1";
this.uiLabel1.Size = new System.Drawing.Size(100, 23);
this.uiLabel1.TabIndex = 0;
this.uiLabel1.Text = "图像路径:";
this.uiLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txbFilePath
//
this.txbFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txbFilePath.ButtonSymbol = 61761;
this.txbFilePath.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txbFilePath.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txbFilePath.IsScaled = false;
this.txbFilePath.Location = new System.Drawing.Point(183, 42);
this.txbFilePath.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.txbFilePath.Maximum = 2147483647D;
this.txbFilePath.Minimum = -2147483648D;
this.txbFilePath.MinimumSize = new System.Drawing.Size(1, 16);
this.txbFilePath.Name = "txbFilePath";
this.txbFilePath.Size = new System.Drawing.Size(405, 35);
this.txbFilePath.TabIndex = 1;
this.txbFilePath.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.txbFilePath.TextChanged += new System.EventHandler(this.txbFilePath_TextChanged);
//
// btnSelectFilePath
//
this.btnSelectFilePath.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSelectFilePath.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSelectFilePath.IsScaled = false;
this.btnSelectFilePath.Location = new System.Drawing.Point(31, 129);
this.btnSelectFilePath.MinimumSize = new System.Drawing.Size(1, 1);
this.btnSelectFilePath.Name = "btnSelectFilePath";
this.btnSelectFilePath.Size = new System.Drawing.Size(133, 35);
this.btnSelectFilePath.Symbol = 61462;
this.btnSelectFilePath.TabIndex = 2;
this.btnSelectFilePath.Text = "选择图像";
this.btnSelectFilePath.Click += new System.EventHandler(this.btnSelectFilePath_Click);
//
// btnRun
//
this.btnRun.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnRun.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnRun.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnRun.IsScaled = false;
this.btnRun.Location = new System.Drawing.Point(440, 129);
this.btnRun.MinimumSize = new System.Drawing.Size(1, 1);
this.btnRun.Name = "btnRun";
this.btnRun.Size = new System.Drawing.Size(133, 35);
this.btnRun.Symbol = 61515;
this.btnRun.TabIndex = 2;
this.btnRun.Text = "运行工具";
this.btnRun.Click += new System.EventHandler(this.btnRun_Click);
//
// uiGroupBox2
//
this.uiGroupBox2.Controls.Add(this.chbRGB2Gray);
this.uiGroupBox2.Controls.Add(this.uiLabel1);
this.uiGroupBox2.Controls.Add(this.btnRun);
this.uiGroupBox2.Controls.Add(this.txbFilePath);
this.uiGroupBox2.Controls.Add(this.btnSelectFilePath);
this.uiGroupBox2.Dock = System.Windows.Forms.DockStyle.Top;
this.uiGroupBox2.FillColor = System.Drawing.Color.White;
this.uiGroupBox2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiGroupBox2.IsScaled = false;
this.uiGroupBox2.Location = new System.Drawing.Point(0, 0);
this.uiGroupBox2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiGroupBox2.MinimumSize = new System.Drawing.Size(1, 1);
this.uiGroupBox2.Name = "uiGroupBox2";
this.uiGroupBox2.Padding = new System.Windows.Forms.Padding(0, 32, 0, 0);
this.uiGroupBox2.Size = new System.Drawing.Size(605, 188);
this.uiGroupBox2.Style = Sunny.UI.UIStyle.Custom;
this.uiGroupBox2.TabIndex = 3;
this.uiGroupBox2.Text = "单张图像";
this.uiGroupBox2.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
// uiGroupBox3
//
this.uiGroupBox3.Dock = System.Windows.Forms.DockStyle.Fill;
this.uiGroupBox3.FillColor = System.Drawing.Color.White;
this.uiGroupBox3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiGroupBox3.IsScaled = false;
this.uiGroupBox3.Location = new System.Drawing.Point(0, 188);
this.uiGroupBox3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiGroupBox3.MinimumSize = new System.Drawing.Size(1, 1);
this.uiGroupBox3.Name = "uiGroupBox3";
this.uiGroupBox3.Padding = new System.Windows.Forms.Padding(0, 32, 0, 0);
this.uiGroupBox3.Size = new System.Drawing.Size(605, 289);
this.uiGroupBox3.Style = Sunny.UI.UIStyle.Custom;
this.uiGroupBox3.TabIndex = 4;
this.uiGroupBox3.Text = "多组图像";
this.uiGroupBox3.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
// chbRGB2Gray
//
this.chbRGB2Gray.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chbRGB2Gray.Checked = true;
this.chbRGB2Gray.Cursor = System.Windows.Forms.Cursors.Hand;
this.chbRGB2Gray.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbRGB2Gray.IsScaled = false;
this.chbRGB2Gray.Location = new System.Drawing.Point(300, 133);
this.chbRGB2Gray.MinimumSize = new System.Drawing.Size(1, 1);
this.chbRGB2Gray.Name = "chbRGB2Gray";
this.chbRGB2Gray.Padding = new System.Windows.Forms.Padding(22, 0, 0, 0);
this.chbRGB2Gray.Size = new System.Drawing.Size(111, 29);
this.chbRGB2Gray.Style = Sunny.UI.UIStyle.Custom;
this.chbRGB2Gray.TabIndex = 3;
this.chbRGB2Gray.Text = "彩色转灰度";
this.chbRGB2Gray.CheckedChanged += new System.EventHandler(this.chbRGB2Gray_CheckedChanged);
//
// FormHalconTool
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -658,22 +300,12 @@ namespace HalconTool
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit();
this.superTabControl1.ResumeLayout(false);
this.superTabControlPanel1.ResumeLayout(false);
this.superTabControlPanel1.PerformLayout();
this.panelMultImage.ResumeLayout(false);
this.gpb_multImage.ResumeLayout(false);
this.gpb_multImage.PerformLayout();
this.panelOneImage.ResumeLayout(false);
this.gpb_oneImage.ResumeLayout(false);
this.gpb_oneImage.PerformLayout();
this.superTabControlPanel2.ResumeLayout(false);
this.superTabControlPanel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.superTabControl2)).EndInit();
this.superTabControl2.ResumeLayout(false);
this.statusStrip.ResumeLayout(false);
this.statusStrip.PerformLayout();
this.tabGrabImage.ResumeLayout(false);
this.grabFile.ResumeLayout(false);
this.camera.ResumeLayout(false);
this.uiGroupBox2.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -682,46 +314,21 @@ namespace HalconTool
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private DevComponents.DotNetBar.SuperTabControl superTabControl1;
private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1;
private System.Windows.Forms.Panel panelMultImage;
public System.Windows.Forms.GroupBox gpb_multImage;
public System.Windows.Forms.Button btn_selectImageDirectory;
public System.Windows.Forms.Label lbl_imageNum;
public System.Windows.Forms.Label lbl_imageName;
internal System.Windows.Forms.Button btn_lastImage;
internal System.Windows.Forms.Button btn_nextImage;
internal System.Windows.Forms.TextBox tbx_imageDirectory;
private System.Windows.Forms.Panel panelOneImage;
public System.Windows.Forms.GroupBox gpb_oneImage;
internal System.Windows.Forms.Button btn_readImage;
internal System.Windows.Forms.TextBox tbx_imagePath;
public System.Windows.Forms.Button btn_browseImage;
public System.Windows.Forms.CheckBox ckb_autoSwitch;
public System.Windows.Forms.Button btn_runHalconInterfaceTool;
public System.Windows.Forms.Button btn_registImage;
public System.Windows.Forms.RadioButton rdo_readOneImage;
public System.Windows.Forms.RadioButton rdo_readMultImage;
public System.Windows.Forms.CheckBox ckb_RGBToGray;
private DevComponents.DotNetBar.SuperTabItem tabReadFormLocal;
private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2;
public System.Windows.Forms.CheckBox checkBox1;
internal System.Windows.Forms.Button btn_RealTime;
internal System.Windows.Forms.ComboBox cbx_deviceList;
internal System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label148;
internal System.Windows.Forms.TextBox tbx_exposure;
internal System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label147;
internal System.Windows.Forms.Button btn_saveImage;
private System.Windows.Forms.Label label123;
private DevComponents.DotNetBar.SuperTabItem tabReadFormCamera;
private DevComponents.DotNetBar.SuperTabControl superTabControl2;
private DevComponents.DotNetBar.SuperTabControlPanel imageDispPanel;
private DevComponents.DotNetBar.SuperTabItem superTabItem1;
public System.Windows.Forms.StatusStrip statusStrip;
public System.Windows.Forms.ToolStripStatusLabel lb_RunStatus;
private System.Windows.Forms.ToolStripStatusLabel lb_Split;
public System.Windows.Forms.ToolStripStatusLabel lb_RunTime;
private Sunny.UI.UITabControl tabGrabImage;
private System.Windows.Forms.TabPage grabFile;
private System.Windows.Forms.TabPage camera;
private Sunny.UI.UIGroupBox gbImageDisp;
private Sunny.UI.UIMarkLabel uiMarkLabel2;
private Sunny.UI.UITextBox txbFilePath;
private Sunny.UI.UILabel uiLabel1;
private Sunny.UI.UISymbolButton btnSelectFilePath;
private Sunny.UI.UISymbolButton btnRun;
private Sunny.UI.UIGroupBox uiGroupBox2;
private Sunny.UI.UIGroupBox uiGroupBox3;
private Sunny.UI.UICheckBox chbRGB2Gray;
}
}

View File

@@ -51,159 +51,199 @@ namespace HalconTool
return _instance;
}
}
private void rdo_readMultImage_CheckedChanged(object sender, EventArgs e)
{
if (rdo_readOneImage.Checked)
{
this.ckb_autoSwitch.Visible = false;
this.panelOneImage.Visible = true;
this.panelMultImage.Visible = false;
this.btn_browseImage.Visible = false;
myHalconTool.workMode = WorkMode.ReadOneImage;
myHalconTool.outputImageFilePath = myHalconTool.imagePath;
}
else
{
if(myHalconTool.L_imageFile.Count > 0)
{
this.ckb_autoSwitch.Visible = true;
this.panelMultImage.Visible = true;
this.panelOneImage.Visible = false;
this.btn_browseImage.Visible = true;
myHalconTool.workMode = WorkMode.ReadMultImage;
myHalconTool.outputImageFilePath = myHalconTool.L_imageFile[myHalconTool.currentImageIndex];
}
}
btn_runHalconInterfaceTool_Click(null, null);
}
//private void rdo_readMultImage_CheckedChanged(object sender, EventArgs e)
//{
// if (rdo_readOneImage.Checked)
// {
// this.ckb_autoSwitch.Visible = false;
// this.panelOneImage.Visible = true;
// this.panelMultImage.Visible = false;
// this.btn_browseImage.Visible = false;
// myHalconTool.workMode = WorkMode.ReadOneImage;
// myHalconTool.outputImageFilePath = myHalconTool.imagePath;
// }
// else
// {
// if(myHalconTool.L_imageFile.Count > 0)
// {
// this.ckb_autoSwitch.Visible = true;
// this.panelMultImage.Visible = true;
// this.panelOneImage.Visible = false;
// this.btn_browseImage.Visible = true;
// myHalconTool.workMode = WorkMode.ReadMultImage;
// myHalconTool.outputImageFilePath = myHalconTool.L_imageFile[myHalconTool.currentImageIndex];
// }
// }
// btn_runHalconInterfaceTool_Click(null, null);
//}
private void FormHalconTool_Load(object sender, EventArgs e)
{
rdo_readMultImage_CheckedChanged(null, null);
this.imageDispPanel.Controls.Add(myHwindow);
gbImageDisp.Controls.Add(myHwindow);
myHwindow.Dock = DockStyle.Fill;
InitTool();
}
private void btn_readImage_Click(object sender, EventArgs e)
{
myHalconTool.ReadImage(out myHalconTool.imagePath);
this.tbx_imagePath.Text = myHalconTool.imagePath;
btn_runHalconInterfaceTool_Click(null, null);
}
//private void btn_readImage_Click(object sender, EventArgs e)
//{
// myHalconTool.ReadImage(out myHalconTool.imagePath);
// this.tbx_imagePath.Text = myHalconTool.imagePath;
// btn_runHalconInterfaceTool_Click(null, null);
//}
private void btn_runHalconInterfaceTool_Click(object sender, EventArgs e)
{
if(myHalconTool.workMode == WorkMode.ReadOneImage)
{
//private void btn_runHalconInterfaceTool_Click(object sender, EventArgs e)
//{
// if(myHalconTool.workMode == WorkMode.ReadOneImage)
// {
}
if(myHalconTool.workMode == WorkMode.ReadMultImage)
{
// }
// if(myHalconTool.workMode == WorkMode.ReadMultImage)
// {
}
myHalconTool.Run(SoftwareRunState.Debug);
ParamsTrans();
}
// }
// if (File.Exists(this.tbx_imagePath.Text))
// {
// myHalconTool.Run(SoftwareRunState.Debug);
// myHalconTool.imagePath = tbx_imagePath.Text;
// ParamsTrans();
// }
//}
//private void btn_selectImageDirectory_Click(object sender, EventArgs e)
//{
// myHalconTool.imageDirectoryPath = string.Empty;
// try
// {
// FolderBrowserDialog folderBrowseDialog = new FolderBrowserDialog();
// if (Directory.Exists(myHalconTool.imageDirectoryPath))
// folderBrowseDialog.SelectedPath = myHalconTool.imageDirectoryPath;
// folderBrowseDialog.Description = "请选择图像文件夹路径";
// if (folderBrowseDialog.ShowDialog() == DialogResult.OK)
// {
// myHalconTool.imageDirectoryPath = folderBrowseDialog.SelectedPath;
// this.tbx_imageDirectory.Text = myHalconTool.imageDirectoryPath;
// myHalconTool.L_imageFile.Clear();
// string[] files = Directory.GetFiles(folderBrowseDialog.SelectedPath);
// for (int i = 0; i < files.Length; i++)
// {
// FileInfo fileInfo = new FileInfo(files[i]);
// if (fileInfo.Extension == ".jpg" || fileInfo.Extension == ".bmp" || fileInfo.Extension == ".png" || fileInfo.Extension == ".tif")
// myHalconTool.L_imageFile.Add(files[i]);
// }
// if (myHalconTool.L_imageFile.Count > 0)
// {
// myHalconTool.currentImageIndex = 0;
// myHalconTool.outputImageFilePath = myHalconTool.L_imageFile[myHalconTool.currentImageIndex];
// myHalconTool.DispImage();
// myHalconTool.currentImageName = Path.GetFileName(myHalconTool.L_imageFile[0]);
// lbl_imageName.Text = myHalconTool.currentImageName;
// }
// lbl_imageNum.Text = "共" + myHalconTool.L_imageFile.Count + "张";
// }
// }
// catch (Exception ex)
// {
// this.lb_RunStatus.Text = ex.Message;
// }
//}
//private void btn_nextImage_Click(object sender, EventArgs e)
//{
// try
// {
// HObject image = new HObject();
// Button btnClick = sender as Button;
// if(btnClick.Name == "btn_nextImage")
// {
// myHalconTool.currentImageIndex = myHalconTool.currentImageIndex + 1;
// }
// else
// {
// myHalconTool.currentImageIndex = myHalconTool.currentImageIndex - 1;
// }
// if (myHalconTool.currentImageIndex > myHalconTool.L_imageFile.Count - 1)
// {
// myHalconTool.currentImageIndex = 0;
// }
// try
// {
// myHalconTool.outputImageFilePath = myHalconTool.L_imageFile[myHalconTool.currentImageIndex];
// }
// catch
// {
// lb_RunStatus.Text = "图像文件异常或路径不合法";
// lb_RunStatus.BackColor = Color.Red;
// return;
// }
// myHalconTool.DispImage();
// myHalconTool.currentImageName = Path.GetFileName(myHalconTool.L_imageFile[myHalconTool.currentImageIndex]);
// Instance.lbl_imageName.Text = myHalconTool.currentImageName;
// Instance.lbl_imageNum.Text = "共" + myHalconTool.L_imageFile.Count + "张";
// }
// catch (Exception ex)
// {
// lb_RunStatus.Text = ex.Message;
// lb_RunStatus.BackColor = Color.Red;
// }
//}
// 窗体载入时还原参数
public void InitTool()
{
tbx_imagePath.Text = myHalconTool.imagePath;
tbx_imageDirectory.Text = myHalconTool.imageDirectoryPath;
ckb_RGBToGray.Checked = myHalconTool.RGBToGray;
ckb_autoSwitch.Checked = myHalconTool.autoSwitch;
txbFilePath.Text = myHalconTool.imagePath;
chbRGB2Gray.Checked = myHalconTool.RGBToGray;
}
private void btn_selectImageDirectory_Click(object sender, EventArgs e)
{
myHalconTool.imageDirectoryPath = string.Empty;
try
{
FolderBrowserDialog folderBrowseDialog = new FolderBrowserDialog();
if (Directory.Exists(myHalconTool.imageDirectoryPath))
folderBrowseDialog.SelectedPath = myHalconTool.imageDirectoryPath;
folderBrowseDialog.Description = "请选择图像文件夹路径";
if (folderBrowseDialog.ShowDialog() == DialogResult.OK)
{
myHalconTool.imageDirectoryPath = folderBrowseDialog.SelectedPath;
this.tbx_imageDirectory.Text = myHalconTool.imageDirectoryPath;
myHalconTool.L_imageFile.Clear();
string[] files = Directory.GetFiles(folderBrowseDialog.SelectedPath);
for (int i = 0; i < files.Length; i++)
{
FileInfo fileInfo = new FileInfo(files[i]);
if (fileInfo.Extension == ".jpg" || fileInfo.Extension == ".bmp" || fileInfo.Extension == ".png" || fileInfo.Extension == ".tif")
myHalconTool.L_imageFile.Add(files[i]);
}
if (myHalconTool.L_imageFile.Count > 0)
{
myHalconTool.currentImageIndex = 0;
myHalconTool.outputImageFilePath = myHalconTool.L_imageFile[myHalconTool.currentImageIndex];
myHalconTool.DispImage();
myHalconTool.currentImageName = Path.GetFileName(myHalconTool.L_imageFile[0]);
lbl_imageName.Text = myHalconTool.currentImageName;
}
lbl_imageNum.Text = "共" + myHalconTool.L_imageFile.Count + "张";
}
}
catch (Exception ex)
{
this.lb_RunStatus.Text = ex.Message;
}
}
private void btn_nextImage_Click(object sender, EventArgs e)
{
try
{
HObject image = new HObject();
Button btnClick = sender as Button;
if(btnClick.Name == "btn_nextImage")
{
myHalconTool.currentImageIndex = myHalconTool.currentImageIndex + 1;
}
else
{
myHalconTool.currentImageIndex = myHalconTool.currentImageIndex - 1;
}
if (myHalconTool.currentImageIndex > myHalconTool.L_imageFile.Count - 1)
{
myHalconTool.currentImageIndex = 0;
}
try
{
myHalconTool.outputImageFilePath = myHalconTool.L_imageFile[myHalconTool.currentImageIndex];
}
catch
{
lb_RunStatus.Text = "图像文件异常或路径不合法";
lb_RunStatus.BackColor = Color.Red;
return;
}
myHalconTool.DispImage();
myHalconTool.currentImageName = Path.GetFileName(myHalconTool.L_imageFile[myHalconTool.currentImageIndex]);
Instance.lbl_imageName.Text = myHalconTool.currentImageName;
Instance.lbl_imageNum.Text = "共" + myHalconTool.L_imageFile.Count + "张";
}
catch (Exception ex)
{
lb_RunStatus.Text = ex.Message;
lb_RunStatus.BackColor = Color.Red;
}
}
/// <summary>
/// 将数据传递给HalconToolInterface
/// </summary>
private void ParamsTrans()
{
myToolInfo.toolOutput.Clear();
myToolInfo.toolOutput.Add(new ToolIO("OutputImage", myHalconTool.outputImage, DataType.Image));
myToolInfo.toolOutput[0] = new ToolIO("OutputImage", myHalconTool.outputImage, DataType.Image);
}
private void btnSelectFilePath_Click(object sender, EventArgs e)
{
HTuple channelCount = 0;
OpenFileDialog dig_openImage = new OpenFileDialog();
dig_openImage.Title = "请选择图像文件路径";
dig_openImage.Filter = "图像文件(*.*)|*.*|图像文件(*.png)|*.png|图像文件(*.jpg)|*.jpg|图像文件(*.tif)|*.tif";
if (dig_openImage.ShowDialog() == DialogResult.OK)
{
myHalconTool.imagePath = dig_openImage.FileName;
myHalconTool.outputImageFilePath = dig_openImage.FileName;
txbFilePath.Text = dig_openImage.FileName;
}
}
private void btnRun_Click(object sender, EventArgs e)
{
if (File.Exists(txbFilePath.Text))
{
myHalconTool.outputImageFilePath = txbFilePath.Text;
myHalconTool.imagePath = txbFilePath.Text;
myHalconTool.Run(SoftwareRunState.Debug);
ParamsTrans();
}
else
{
MessageBox.Show("文件不存在,请检查!");
}
}
private void txbFilePath_TextChanged(object sender, EventArgs e)
{
myHalconTool.outputImageFilePath = txbFilePath.Text;
myHalconTool.imagePath = txbFilePath.Text;
}
private void chbRGB2Gray_CheckedChanged(object sender, EventArgs e)
{
myHalconTool.RGBToGray = chbRGB2Gray.Checked;
}
}
}

View File

@@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
<value>27, 15</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">

View File

@@ -84,21 +84,6 @@ namespace HalconTool
/// </summary>
internal WorkMode workMode = WorkMode.ReadMultImage;
public bool ReadImage(out string filePath)
{
filePath = string.Empty;
HTuple channelCount = 0;
OpenFileDialog dig_openImage = new OpenFileDialog();
dig_openImage.Title = "请选择图像文件路径";
dig_openImage.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
dig_openImage.Filter = "图像文件(*.*)|*.*|图像文件(*.png)|*.png|图像文件(*.jpg)|*.jpg|图像文件(*.tif)|*.tif";
if (dig_openImage.ShowDialog() == DialogResult.OK)
{
filePath = dig_openImage.FileName;
outputImageFilePath = dig_openImage.FileName;
}
return true;
}
public override void Run(SoftwareRunState softwareState)
{
@@ -109,7 +94,6 @@ namespace HalconTool
SetToolStatusDisp();
sw.Stop();
runTime = $"工具运行时间:{sw.ElapsedMilliseconds.ToString()} ms";
}
public override void DispImage()
@@ -150,7 +134,8 @@ namespace HalconTool
if (softwareRunState == SoftwareRunState.Debug)
{
FormHalconTool.Instance.myHwindow.DispImage(outputImage);
}
}
}
else
{

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>HalconTool</RootNamespace>
<AssemblyName>HalconTool</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
@@ -31,12 +31,15 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevComponents.DotNetBar2">
<HintPath>..\VisionEdit\bin\Debug\DevComponents.DotNetBar2.dll</HintPath>
</Reference>
<Reference Include="halcondotnet">
<HintPath>C:\Program Files\MVTec\HALCON-19.05-Progress\bin\dotnet20\halcondotnet.dll</HintPath>
</Reference>
<Reference Include="SunnyUI">
<HintPath>..\VisionEdit\bin\Debug\ThirdLib\SunnyUI.dll</HintPath>
</Reference>
<Reference Include="SunnyUI.Common">
<HintPath>..\VisionEdit\bin\Debug\ThirdLib\SunnyUI.Common.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
@@ -58,11 +61,20 @@
<Compile Include="HalconTool.cs" />
<Compile Include="HalconToolRun.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="FormHalconTool.resx">
<DependentUpon>FormHalconTool.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CommonMethods\CommonHelper.csproj">

View File

@@ -41,6 +41,7 @@ namespace HalconTool
{
myJob.FormLogDisp($"{L_toolList[toolIndex].toolName} 运行成功,{myHalconTool.runTime}", Color.Green, selectNode);
FormImageWindow.Instance.myHWindow.DispHWindow.DispObj(myHalconTool.outputImage);
L_toolList[toolIndex].toolOutput[0] = new ToolIO("OutputImage", myHalconTool.outputImage, DataType.Image);
}
}
}

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace HalconTool.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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("HalconTool.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;
}
}
}
}

View 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>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ViewROI</RootNamespace>
<AssemblyName>HWindow_Tool</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
@@ -72,10 +72,12 @@
<PlatformTarget>AnyCPU</PlatformTarget>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<OutputPath>bin\Release\</OutputPath>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="halcondotnet, Version=19.5.0.0, Culture=neutral, PublicKeyToken=4973bed59ddbf2b8, processorArchitecture=MSIL">

View File

@@ -1,4 +1,4 @@
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
@@ -19,7 +19,7 @@ namespace ViewROI.Properties {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -47,8 +47,8 @@ namespace ViewROI.Properties {
}
/// <summary>
/// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {

View File

@@ -1,4 +1,4 @@
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
@@ -12,7 +12,7 @@ namespace ViewROI.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

View File

@@ -1,3 +1,3 @@
<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup></configuration>

File diff suppressed because it is too large Load Diff

View File

@@ -77,6 +77,7 @@ namespace PMAlignTool
private void InitTool()
{
isInitTool = true;
#region
cNumErosionValue1.Value = myPMAlign.imageProcess.erosionValue1.algValue;
cbCErosion1.Checked = myPMAlign.imageProcess.erosionValue1.isEnable;
cmbErsion1.TextStr = myPMAlign.imageProcess.erosionValue1.algName;
@@ -88,7 +89,19 @@ namespace PMAlignTool
cNumErosionValue2.Value = myPMAlign.imageProcess.erosionValue2.algValue;
cbCErosion2.Checked = myPMAlign.imageProcess.erosionValue2.isEnable;
cmbErsion2.TextStr = myPMAlign.imageProcess.erosionValue2.algName;
isInitTool = false;
#endregion
#region
nud_minScore.Value = myPMAlign.minScore;
nud_matchNum.Value = myPMAlign.matchNum;
nud_angleStep.Value = myPMAlign.angleStep;
nud_Timeout.Value = myPMAlign.timeOut;
nud_angleStart.Value = myPMAlign.startAngle;
nud_angleRange.Value = myPMAlign.angleRange;
nud_ScaleStart.Value = myPMAlign.minScale;
nud_ScaleRange.Value = myPMAlign.maxScale;
tkb_contrast.Value = myPMAlign.contrast;
#endregion
}
private void btnAcqNewModelImage_Click(object sender, EventArgs e)
@@ -287,5 +300,10 @@ namespace PMAlignTool
{
myPMAlign.Run(SoftwareRunState.Debug);
}
private void tkb_contrast_Scroll(object sender, EventArgs e)
{
lbl_contastValue.Text = tkb_contrast.Value.ToString();
}
}
}

View File

@@ -211,6 +211,21 @@
<metadata name="Column12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column10.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>71</value>
</metadata>

View File

@@ -98,7 +98,7 @@ namespace PMAlignTool
/// <summary>
/// 角度范围
/// </summary>
internal int angleRange { get; set; } = 30;
internal int angleRange { get; set; } = 360;
/// <summary>
/// 角度步长
/// </summary>
@@ -108,10 +108,15 @@ namespace PMAlignTool
/// </summary>
internal int contrast { get; set; } = 30;
/// <summary>
/// 超时处理
/// </summary>
internal int timeOut { get; set; } = 500;
/// <summary>
/// 训练时所使用的模板图像,不点击获取图像时,不进行更新
/// </summary>
public HObject oldTrainImage { get; set; }
public bool isCreateModel { get; set; }
internal string pmaModelName { get; set; } = Guid.NewGuid().ToString();
public override void DispMainWindow(HWindow dispHWindow)
{
@@ -151,11 +156,11 @@ namespace PMAlignTool
public RegionType searchRegionType { get; set; }
public HObject SearchRegion { get; private set; }
public override void Run(SoftwareRunState softwareRunState)
public override void Run(SoftwareRunState softwareState)
{
Stopwatch sw = new Stopwatch();
sw.Restart();
softwareRunState = softwareState;
if (inputImage == null)
{
FormPMAlignTool.Instance.SetToolStatus("工具输入图像为空", ToolRunStatu.Not_Input_Image);
@@ -180,15 +185,8 @@ namespace PMAlignTool
//对预期线的找模板区域做放射变换
}
minScore = FormPMAlignTool.Instance.nud_minScore.Value;
startAngle = Convert.ToInt16(FormPMAlignTool.Instance.nud_angleStart.Value);
angleRange = Convert.ToInt16(FormPMAlignTool.Instance.nud_angleRange.Value);
angleStep = Convert.ToInt16(FormPMAlignTool.Instance.nud_angleStep.Value);
polarity = FormPMAlignTool.Instance.cbx_polarity.TextStr;
isAutoConstants = FormPMAlignTool.Instance.ckb_autoContrast.Checked;
minScale = FormPMAlignTool.Instance.nud_ScaleStart.Value;
maxScale = FormPMAlignTool.Instance.nud_ScaleRange.Value;
HObject findModelImg = ProcessImage(inputImage);
UpdateParamsFromUI(); // 操作前先将UI中参数写入类
HObject findModelImg = ProcessImage(inputImage);
int ret = FindModelTemplate(findModelImg);
ToolRunStatu myState = ret == 0 ? ToolRunStatu.Succeed : ToolRunStatu.Model_UnFound;
string retMsg = ret == 0 ? "工具运行成功,已找到匹配项!" : "未找到匹配项";
@@ -205,7 +203,19 @@ namespace PMAlignTool
}
}
public void UpdateParamsFromUI()
{
minScore = FormPMAlignTool.Instance.nud_minScore.Value;
startAngle = Convert.ToInt16(FormPMAlignTool.Instance.nud_angleStart.Value);
angleRange = Convert.ToInt16(FormPMAlignTool.Instance.nud_angleRange.Value);
angleStep = Convert.ToInt16(FormPMAlignTool.Instance.nud_angleStep.Value);
polarity = FormPMAlignTool.Instance.cbx_polarity.TextStr;
isAutoConstants = FormPMAlignTool.Instance.ckb_autoContrast.Checked;
minScale = FormPMAlignTool.Instance.nud_ScaleStart.Value;
maxScale = FormPMAlignTool.Instance.nud_ScaleRange.Value;
timeOut = Convert.ToInt16(FormPMAlignTool.Instance.nud_Timeout.Value);
contrast = Convert.ToInt16(FormPMAlignTool.Instance.tkb_contrast.Value);
}
public override void DispImage()
{
FormPMAlignTool.Instance.myHwindow.DispHWindow.ClearWindow();
@@ -244,11 +254,44 @@ namespace PMAlignTool
HOperatorSet.GenEmptyObj(out createModelImg);
createModelImg = ProcessImage(inputImage);
HOperatorSet.ReduceDomain(createModelImg, templateRegion, out template);
minScore = FormPMAlignTool.Instance.nud_minScore.Value;
startAngle = Convert.ToInt16(FormPMAlignTool.Instance.nud_angleStart.Value);
angleRange = Convert.ToInt16(FormPMAlignTool.Instance.nud_angleRange.Value);
angleStep = Convert.ToInt16(FormPMAlignTool.Instance.nud_angleStep.Value);
polarity = FormPMAlignTool.Instance.cbx_polarity.TextStr;
isAutoConstants = FormPMAlignTool.Instance.ckb_autoContrast.Checked;
minScale = FormPMAlignTool.Instance.nud_ScaleStart.Value;
maxScale = FormPMAlignTool.Instance.nud_ScaleRange.Value;
try
{
HTuple rows, cols, angles, scores, scale;
if (matchMode == MatchMode.BasedShape)
{
HOperatorSet.CreateShapeModel(template,
"auto",
0,
360,
"auto",
"auto",
polarity,
isAutoConstants ? (HTuple)"auto" : (HTuple)contrast,
"auto",
out modelID);
HOperatorSet.FindShapeModel(createModelImg,
(HTuple)modelID,
((HTuple)startAngle).TupleRad(),
((HTuple)angleRange - startAngle).TupleRad(),
(HTuple)minScore,
(HTuple)matchNum,
(HTuple)0.5,
(HTuple)"least_squares",
(HTuple)0,
(HTuple)0.9,
out rows,
out cols,
out angles,
out scores);
/*
HOperatorSet.CreateScaledShapeModel(template,
"auto",
((HTuple)startAngle).TupleRad(),
@@ -262,7 +305,7 @@ namespace PMAlignTool
isAutoConstants ? (HTuple)"auto" : (HTuple)contrast,
"auto",
out modelID);
HOperatorSet.FindScaledShapeModel(inputImage,
HOperatorSet.FindScaledShapeModel(createModelImg,
(HTuple)modelID,
((HTuple)startAngle).TupleRad(),
((HTuple)angleRange - startAngle).TupleRad(),
@@ -279,6 +322,7 @@ namespace PMAlignTool
out angles,
out scale,
out scores);
*/
}
else
{
@@ -289,7 +333,7 @@ namespace PMAlignTool
"auto",
"use_polarity",
out modelID);
HOperatorSet.FindNccModel(inputImage,
HOperatorSet.FindNccModel(createModelImg,
(HTuple)modelID,
((HTuple)startAngle).TupleRad(),
((HTuple)angleRange - startAngle).TupleRad(),
@@ -305,6 +349,7 @@ namespace PMAlignTool
}
isCreateModel = true;
HOperatorSet.WriteRegion(templateRegion, FormPMAlignTool.Instance.myToolInfo.FormToolName + ".hobj");
HOperatorSet.WriteShapeModel(modelID, pmaModelName + ".ShapeModel");
if (scores != null && scores.Type != HTupleType.EMPTY)
{
templatePose = new PosXYU { X = rows[0].D, Y = cols[0].D , U = angles[0].D };
@@ -331,11 +376,12 @@ namespace PMAlignTool
LoggerClass.WriteLog("未创建或加载模板", MsgLevel.Exception);
return -1;
}
if (File.Exists(toolName + ".hobj"))
if (!File.Exists(pmaModelName + ".ShapeModel"))
{
HOperatorSet.ReadRegion(out templateRegion, toolName + ".hobj");
LoggerClass.WriteLog($"{FormPMAlignTool.Instance.myToolInfo.FormToolName} 已加载模板", MsgLevel.Info);
LoggerClass.WriteLog("未创建或加载模板", MsgLevel.Exception);
return -1;
}
HOperatorSet.ReadShapeModel(pmaModelName + ".ShapeModel", out modelID);
HObject image;
if (searchRegionType == RegionType.AllImage)
{
@@ -350,10 +396,25 @@ namespace PMAlignTool
L_resultList.Clear();
try
{
image = ProcessImage(image);
if (matchMode == MatchMode.BasedShape)
{
HTuple temp;
HOperatorSet.FindShapeModel(image,
(HTuple)modelID,
((HTuple)startAngle).TupleRad(),
((HTuple)angleRange - startAngle).TupleRad(),
(HTuple)minScore,
(HTuple)matchNum,
(HTuple)0.5,
(HTuple)"least_squares",
(HTuple)0,
(HTuple)0.7,
out rows,
out cols,
out angles,
out scores);
/*
HOperatorSet.FindScaledShapeModel(image,
(HTuple)modelID,
((HTuple)startAngle).TupleRad(),
@@ -371,7 +432,7 @@ namespace PMAlignTool
out angles,
out temp,
out scores);
*/
}
else
{
@@ -389,8 +450,7 @@ namespace PMAlignTool
out angles,
out scores);
}
FormPMAlignTool.Instance.myHwindow.DispHWindow.ClearWindow();
FormPMAlignTool.Instance.myHwindow.DispImage(inputImage);
if (rows.TupleLength() > 0)
{
for (int i = 0; i < rows.TupleLength(); i++)
@@ -416,10 +476,18 @@ namespace PMAlignTool
}
}
}
if(L_resultList.Count > 0)
if (softwareRunState == SoftwareRunState.Debug)
{
FormPMAlignTool.Instance.myHwindow.DispHWindow.ClearWindow();
FormPMAlignTool.Instance.myHwindow.DispImage(inputImage);
}
if (L_resultList.Count > 0)
{
toolRunStatu = ToolRunStatu.Succeed;
ShowTemplate(FormPMAlignTool.Instance.myHwindow.DispHWindow);
if (softwareRunState == SoftwareRunState.Debug)
{
ShowTemplate(FormPMAlignTool.Instance.myHwindow.DispHWindow);
}
return 0;
}
}
@@ -448,25 +516,19 @@ namespace PMAlignTool
dispHWindow.ClearWindow();
dispHWindow.DispObj(inputImage);
}
if (matchMode == MatchMode.BasedShape)
if(L_resultList.Count > 0)
{
HOperatorSet.GetShapeModelContours(out contour, modelID, new HTuple(1));
HTuple area, row, col;
HOperatorSet.AreaCenter(templateRegion, out area, out row, out col);
HTuple homMat2D;
HOperatorSet.HomMat2dIdentity(out homMat2D);
HOperatorSet.HomMat2dTranslate(homMat2D, row, col, out homMat2D);
HOperatorSet.AffineTransContourXld(contour, out contour, homMat2D);
dispHWindow.SetColor("green");
dispHWindow.DispObj(contour);
foreach (var item in L_resultList)
{
HTuple homMat2D;
HOperatorSet.GetShapeModelContours(out contour, modelID, new HTuple(1));
HOperatorSet.VectorAngleToRigid(0, 0, 0, item.Row, item.Col, item.Angle,out homMat2D);
HOperatorSet.AffineTransContourXld(contour, out contour, homMat2D);
dispHWindow.SetColor("green");
dispHWindow.DispObj(contour);
}
}
HObject outBoundary, inBoundary;
HOperatorSet.Boundary(templateRegion, out outBoundary, "inner_filled");
HOperatorSet.Boundary(templateRegion, out inBoundary, "outer");
HOperatorSet.SetColor(FormPMAlignTool.Instance.myHwindow.DispHWindow, "green");
HOperatorSet.SetLineStyle(FormPMAlignTool.Instance.myHwindow.DispHWindow, new HTuple());
dispHWindow.DispObj(outBoundary);
dispHWindow.DispObj(inBoundary);
}
catch (Exception ex)
{

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>PMAlignTool</RootNamespace>
<AssemblyName>PMAlignTool</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>

View File

@@ -25,6 +25,7 @@ using System.Text.RegularExpressions;
using HalconDotNet;
using FormLib;
using Logger;
using static DataStruct.DataStruct;
namespace PMAlignTool
{
@@ -33,6 +34,7 @@ namespace PMAlignTool
public void ToolRun(string jobName, int toolIndex, int inputItemNum, TreeNode selectNode, List<IToolInfo> L_toolList)
{
PMAlign myPMAlign = (PMAlign)L_toolList[toolIndex].tool;
VisionJob myJob = VisionJobParams.pVisionProject.Project[jobName];
for (int j = 0; j < inputItemNum; j++)
{
@@ -62,6 +64,17 @@ namespace PMAlignTool
{
myJob.FormLogDisp($"{L_toolList[toolIndex].toolName} 运行成功,{myPMAlign.runTime}", Color.Green, selectNode);
myPMAlign.DispMainWindow(FormImageWindow.Instance.myHWindow.DispHWindow);
// 将输出值赋值到界面输出中
if (myPMAlign.L_resultList.Count > 0)
{
L_toolList[toolIndex].toolOutput[0] = new ToolIO("GetPose",
new PosXYU { X = myPMAlign.L_resultList[0].Row, Y = myPMAlign.L_resultList[0].Col, U = myPMAlign.L_resultList[0].Angle },
DataType.Pose);
L_toolList[toolIndex].toolOutput[1] = new ToolIO("GetPose.X", myPMAlign.L_resultList[0].Row, DataType.IntValue);
L_toolList[toolIndex].toolOutput[2] = new ToolIO("GetPose.Y", myPMAlign.L_resultList[0].Col, DataType.IntValue);
L_toolList[toolIndex].toolOutput[3] = new ToolIO("GetPose.Z", myPMAlign.L_resultList[0].Angle, DataType.DoubleValue);
L_toolList[toolIndex].toolOutput[4] = new ToolIO("GetPose.Score", myPMAlign.L_resultList[0].Socre, DataType.DoubleValue);
}
}
}
}

View File

@@ -1,4 +1,4 @@
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ToolBase</RootNamespace>
<AssemblyName>ToolBase</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Logger</RootNamespace>
<AssemblyName>Logger</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
@@ -31,9 +31,6 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net">
<HintPath>..\..\VisionEdit\bin\Debug\log4net.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Design" />

View File

@@ -3,16 +3,12 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using log4net;
using System.Windows.Forms;
namespace Logger
{
public class LoggerClass
{
private static readonly ILog loginfo = LogManager.GetLogger("loginfo");
private static readonly ILog logerror = LogManager.GetLogger("logerror");
/// <summary>
/// Log队列
/// </summary>
@@ -20,10 +16,6 @@ namespace Logger
public static void WriteLog(string info, bool ShowMsgBox = false)
{
if (loginfo.IsInfoEnabled)
{
loginfo.Info(info);
}
logQueue.Enqueue(new LogInfo{ message = info, ex = null, logLevel = MsgLevel.Info});
if(ShowMsgBox)
{
@@ -32,10 +24,6 @@ namespace Logger
}
public static void WriteLog(string info, MsgLevel msgLevel, bool ShowMsgBox = false)
{
if (loginfo.IsInfoEnabled)
{
loginfo.Info(info);
}
logQueue.Enqueue(new LogInfo { message = info,ex = null, logLevel = msgLevel });
if (ShowMsgBox)
{
@@ -44,10 +32,6 @@ namespace Logger
}
public static void WriteLog(string info, MsgLevel msgLevel, Exception ex, bool ShowMsgBox = false)
{
if (logerror.IsErrorEnabled)
{
logerror.Error(info, ex);
}
logQueue.Enqueue(new LogInfo { message = info, ex = ex, logLevel = msgLevel });
if (ShowMsgBox)
{
@@ -56,10 +40,6 @@ namespace Logger
}
public static void WriteLog(string info, Exception ex, bool ShowMsgBox = false)
{
if (logerror.IsErrorEnabled)
{
logerror.Error(info, ex);
}
logQueue.Enqueue(new LogInfo { message = info, ex = ex, logLevel = MsgLevel.Exception });
if (ShowMsgBox)
{

View File

@@ -13,7 +13,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
//[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
//将 ComVisible 设置为 false 将使此程序集中的类型
//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
//请将此类型的 ComVisible 特性设置为 true。

View File

@@ -1,4 +1,4 @@
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000

View File

@@ -1,4 +1,4 @@
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000

View File

@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ToolLib.VisionJob</RootNamespace>
<AssemblyName>ToolLib.VisionJob</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -31,7 +32,7 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="DevComponents.DotNetBar2">
<HintPath>..\VisionEdit\bin\Debug\DevComponents.DotNetBar2.dll</HintPath>
<HintPath>..\VisionEdit\bin\Debug\ThirdLib\DevComponents.DotNetBar2.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
@@ -82,6 +83,14 @@
<Project>{df3d4d4c-02df-4f92-9fd4-0a861f64b0ef}</Project>
<Name>DataStruct</Name>
</ProjectReference>
<ProjectReference Include="..\FormLib\FormLib.csproj">
<Project>{8c6fc8c6-8874-494b-8260-071f291aa33d}</Project>
<Name>FormLib</Name>
</ProjectReference>
<ProjectReference Include="..\ImageWindow\HWindow_Tool.csproj">
<Project>{9BAA53FD-89B5-43E2-AC59-A27B006DEBB6}</Project>
<Name>HWindow_Tool</Name>
</ProjectReference>
<ProjectReference Include="..\ToolLib.Log\Logger\Logger.csproj">
<Project>{D4E052B9-E541-4B67-A1F9-273073EF1D4B}</Project>
<Name>Logger</Name>

View File

@@ -1,5 +1,6 @@
using CommonMethods;
using CommonMethods.Interface;
using FormLib;
using Logger;
using System;
using System.Collections.Generic;
@@ -745,6 +746,7 @@ namespace ToolLib.VisionJob
public void Run()
{
FormImageWindow.Instance.ClearWindow();
for (int i = 0; i < L_toolList.Count; i++)
{
TreeNode treeNode = GetToolNodeByNodeText(L_toolList[i].toolName);

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ToolLib.VisionToolList</RootNamespace>
<AssemblyName>ToolLib.VisionToolList</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>

View File

@@ -46,7 +46,7 @@ namespace VisionJobFactory
public class FindLineToolInterface : IToolInfo
{
ToolIO inputImage = new ToolIO("InputImage", null, DataType.Image);
ToolIO inputPos = new ToolIO("InputPos", new object(), DataType.Pose);
ToolIO inputPos = new ToolIO("InputPos", null, DataType.Pose);
ToolIO outputXld = new ToolIO("outputXld", null, DataType.Line);
ToolIO startPointRow = new ToolIO("StartPointRow", null, DataType.IntValue);
ToolIO startPointColumn = new ToolIO("StartPointColumn", null, DataType.IntValue);

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Controls</RootNamespace>
<AssemblyName>Controls</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -1,4 +1,4 @@
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
</configuration>
</configuration>

View File

@@ -1,4 +1,4 @@
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000

View File

@@ -1,28 +1,24 @@
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace VisionEdit.Properties
{
namespace VisionEdit.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.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
{
public static Settings Default {
get {
return defaultInstance;
}
}

View File

@@ -9,9 +9,10 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>VisionEdit</RootNamespace>
<AssemblyName>VisionEdit</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x64</PlatformTarget>

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
</configuration>
</configuration>