|
|
@@ -1,4 +1,8 @@
|
|
|
-using System.Windows.Controls;
|
|
|
+using Cognex.VisionPro;
|
|
|
+using Cognex.VisionPro.Dimensioning;
|
|
|
+using OxyPlot;
|
|
|
+using System;
|
|
|
+using System.Windows.Controls;
|
|
|
using TeamAAS_VP.ViewModels.Product;
|
|
|
|
|
|
namespace TeamAAS_VP.Views.Product
|
|
|
@@ -21,11 +25,61 @@ namespace TeamAAS_VP.Views.Product
|
|
|
this.display.BackColor = System.Drawing.SystemColors.ActiveCaption;
|
|
|
}
|
|
|
|
|
|
+ private int _imageWidth;
|
|
|
+ private int _imageHeight;
|
|
|
private void VM_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
|
|
{
|
|
|
if (e.PropertyName == "Image")
|
|
|
{
|
|
|
- this.display.Image = VM.Image;
|
|
|
+ if (this.display.Image==null)
|
|
|
+ {
|
|
|
+ this.display.Image = VM.Image;
|
|
|
+ //图像中心点坐标
|
|
|
+ _imageWidth= this.display.Image.Width;
|
|
|
+ _imageHeight= this.display.Image.Height;
|
|
|
+ CogGraphicCollection graphic = new CogGraphicCollection();
|
|
|
+ CogCreateLineTool line1 = new CogCreateLineTool();
|
|
|
+ CogCreateLineTool line2 = new CogCreateLineTool();
|
|
|
+ line1.InputImage = this.display.Image;
|
|
|
+ line2.InputImage = this.display.Image;
|
|
|
+ line1.Line.X = _imageWidth / 2;
|
|
|
+ line1.Line.Y = _imageHeight / 2;
|
|
|
+ line1.Line.Rotation = 0;
|
|
|
+ line2.Line.X = _imageWidth / 2;
|
|
|
+ line2.Line.Y = _imageHeight / 2;
|
|
|
+ line2.Line.Rotation = Math.PI / 180 * 90;
|
|
|
+ line1.Run();
|
|
|
+ line2.Run();
|
|
|
+ graphic.Add(line1.GetOutputLine());
|
|
|
+ graphic.Add(line2.GetOutputLine());
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ this.display.Image = VM.Image;
|
|
|
+ //如果图像的长宽发生变化,则重新绘制十字线
|
|
|
+ if (_imageWidth!= this.display.Image.Width|| _imageHeight!= this.display.Image.Height)
|
|
|
+ {
|
|
|
+ _imageWidth = this.display.Image.Width;
|
|
|
+ _imageHeight = this.display.Image.Height;
|
|
|
+ CogGraphicCollection graphic = new CogGraphicCollection();
|
|
|
+ CogCreateLineTool line1 = new CogCreateLineTool();
|
|
|
+ CogCreateLineTool line2 = new CogCreateLineTool();
|
|
|
+ line1.InputImage = this.display.Image;
|
|
|
+ line2.InputImage = this.display.Image;
|
|
|
+ line1.Line.X = _imageWidth / 2;
|
|
|
+ line1.Line.Y = _imageHeight / 2;
|
|
|
+ line1.Line.Rotation = 0;
|
|
|
+ line2.Line.X = _imageWidth / 2;
|
|
|
+ line2.Line.Y = _imageHeight / 2;
|
|
|
+ line2.Line.Rotation = Math.PI / 180 * 90;
|
|
|
+ line1.Run();
|
|
|
+ line2.Run();
|
|
|
+ graphic.Add(line1.GetOutputLine());
|
|
|
+ graphic.Add(line2.GetOutputLine());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|