using Cognex.VisionPro; using Cognex.VisionPro.Dimensioning; using System; using System.Windows.Controls; using TeamAAS_VP.ViewModels.Calibration; namespace TeamAAS_VP.Views.Calibration { /// /// Interaction logic for CalibrationAuto /// public partial class CalibrationAuto : UserControl { CalibrationAutoViewModel VM; public CalibrationAuto() { InitializeComponent(); VM = DataContext as CalibrationAutoViewModel; VM.PropertyChanged += VM_PropertyChanged; this.display.VerticalScrollBar = false; this.display.HorizontalScrollBar = false; this.display.AutoFit = true; this.display.BackColor = System.Drawing.SystemColors.ActiveCaption; } private int _imageWidth; private int _imageHeight; private void VM_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { try { if (e.PropertyName == "Image") { this.display.Image = VM.Image; //图像中心点坐标 _imageWidth = this.display.Image.Width; _imageHeight = this.display.Image.Height; } else if (e.PropertyName == "Graphic") { this.display.StaticGraphics.Clear(); 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()); this.display.StaticGraphics.Clear(); this.display.StaticGraphics.AddList(graphic, ""); if (VM.Graphic!=null) { this.display.StaticGraphics.AddList(VM.Graphic, ""); } } } catch (System.Exception) { } } } }