| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- 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
- {
- /// <summary>
- /// Interaction logic for PlcPointParams
- /// </summary>
- public partial class PlcPointParams : UserControl
- {
- PlcPointParamsViewModel VM;
- public PlcPointParams()
- {
- InitializeComponent();
- VM = DataContext as PlcPointParamsViewModel;
- VM.PropertyChanged += VM_PropertyChanged;
- this.display.HorizontalScrollBar = false;
- this.display.VerticalScrollBar = 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)
- {
- if (e.PropertyName == "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());
- this.display.StaticGraphics.Clear();
- this.display.StaticGraphics.AddList(graphic, "");
- }
- 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());
- this.display.StaticGraphics.Clear();
- this.display.StaticGraphics.AddList(graphic, "");
- }
- }
- }
- }
- }
- }
|