| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119 |
- using Cognex.VisionPro;
- using Cognex.VisionPro.ImageFile;
- using log4net.Core;
- using MahApps.Metro.Controls;
- using Prism.Events;
- using Prism.Ioc;
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.IO;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Forms.Integration;
- using System.Windows.Interop;
- using TeamAAS_VP;
- using TeamAAS_VP.Core;
- using TeamAAS_VP.Data;
- using TeamAAS_VP.Enums;
- using TeamAAS_VP.Events;
- using TeamAAS_VP.Interfaces;
- using TeamAAS_VP.Models;
- using TeamAAS_VP.Resources.Languages;
- using TeamAAS_VP.Services;
- using TeamAAS_VP.ViewModels;
- using TeamAAS_VP.ViewModels.Home;
- using static MaterialDesignThemes.Wpf.Theme.ToolBar;
- namespace TeamAAS_VP.Views.Home
- {
- /// <summary>
- /// Interaction logic for ShowVisionRender
- /// </summary>
- public partial class ShowVisionRender : UserControl
- {
- ShowVisionRenderViewModel viewModel;
- Dictionary<Guid, WindowsFormsHost> vmRenders;
- Dictionary<Guid, TextBlock> Titles;
- IEventAggregator _eventAggregator;
- ISystemDatabaseService _systemDatabaseService;
- IProductService _productService;
- public ShowVisionRender()
- {
- InitializeComponent();
- vmRenders = new Dictionary<Guid, WindowsFormsHost>();
- Titles = new Dictionary<Guid, TextBlock>();
- viewModel = DataContext as ShowVisionRenderViewModel;
- _eventAggregator = viewModel._eventAggregator;
- _systemDatabaseService= ((Prism.PrismApplicationBase)App.Current).Container.Resolve<ISystemDatabaseService>();
- _productService = ((Prism.PrismApplicationBase)App.Current).Container.Resolve<IProductService>();
- viewModel.UpdateLayout += ViewModel_UpdateLayout;
- _eventAggregator.GetEvent<RenderUpdateNotification>().Subscribe(UpdateRenderModuleSource);
- _eventAggregator.GetEvent<ProductChangedNotification>().Subscribe(ProductChanged);
- }
- private void UpdateRenderModuleSource(ShowRender render)
- {
- //foreach (var item in vmRenders)
- //{
- // if (item.Key== render.Id)
- // {
- // App.Current.Dispatcher.Invoke(new Action(() =>
- // {
- // item.Value.ModuleSource = render.ModuleSource;
- // }));
- // break;
- // }
- //}
- this.gridRender.Dispatcher.BeginInvoke(new Action(() =>
- {
- foreach (var item in vmRenders)
- {
- if (((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Tag!=null && ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Tag.ToString() == render.CameraName)
- {
- ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Record = null;
- ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Image = render.Image;
- ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).StaticGraphics.Clear();
- if (render.Graphic!=null)
- ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).StaticGraphics.AddList(render.Graphic, "");
- if (render.Record != null)
- ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Record = render.Record;
- if (render.IsSaveImage)
- {
- SaveImage(render.SaveImageModel, render.SaveImagePathModel, render.SavePath, render.Image, (Bitmap)((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).CreateContentBitmap(Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Custom), render.Result, render.IsCompress, render.ImgPara);
- }
- break;
- }
- }
- /*
- foreach (var item in gridRender.Children)
- {
- if (item is WindowsFormsHost && ((WindowsFormsHost)item).Child is Cognex.VisionPro.CogRecordDisplay)
- {
- if (((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).Tag != null && ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).Tag.ToString() == render.CameraName)
- {
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).Image = render.Image;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).StaticGraphics.Clear();
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).StaticGraphics.AddList(render.Graphic, "");
- if (render.Record != null)
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).Record = render.Record;
- if (render.IsSaveImage)
- {
- SaveImage(render.SaveImageModel, render.SaveImagePathModel, render.SavePath, render.Image, (Bitmap)((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).CreateContentBitmap(Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Custom), render.Result, render.IsCompress);
- }
- break;
- }
- }
- else if (item is Grid)
- {
- foreach (var item1 in ((Grid)item).Children)
- {
- if (item1 is WindowsFormsHost && ((WindowsFormsHost)item1).Child is Cognex.VisionPro.CogRecordDisplay)
- {
- if (((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item1).Child).Tag != null && ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item1).Child).Tag.ToString() == render.CameraName)
- {
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item1).Child).Image = render.Image;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item1).Child).StaticGraphics.Clear();
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item1).Child).StaticGraphics.AddList(render.Graphic, "");
- if (render.Record != null)
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).Record = render.Record;
- if (render.IsSaveImage)
- {
- SaveImage(render.SaveImageModel, render.SaveImagePathModel, render.SavePath, render.Image, (Bitmap)((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).CreateContentBitmap(Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Custom), render.Result, render.IsCompress);
- }
- break;
- }
- }
- }
- break;
- }
- }*/
- }));
- }
- Grid grid1 = new Grid();
- Grid grid2 = new Grid();
- Grid grid3 = new Grid();
- Grid grid4 = new Grid();
- Grid grid5 = new Grid();
- Grid grid6 = new Grid();
- Grid grid7 = new Grid();
- Grid grid8 = new Grid();
- private void ViewModel_UpdateLayout(System.Collections.ObjectModel.ObservableCollection<Models.ShowRender> obj)
- {
- System.Windows.Media.FontFamily font = Application.Current.Resources["DefaultFont"] as System.Windows.Media.FontFamily;
-
- if (vmRenders.Count > 0)
- {
- foreach (var render in vmRenders)
- {
- render.Value.Dispose();
- }
- }
- vmRenders.Clear();
- gridRender.Children.Clear();
- Titles.Clear();
- if (obj == null) { return; }
- if (obj.Count == 0) { return; }
- Grid grid = new Grid();
- gridRender.RowDefinitions.Clear();
- gridRender.ColumnDefinitions.Clear();
- System.Windows.Thickness margin = new System.Windows.Thickness(2);
- switch (obj.Count)
- {
- case 1:
- vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].CameraName } });
- Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12 , Foreground = System.Windows.Media.Brushes.Black });
- gridRender.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- gridRender.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ShowGridLines = false;
- gridRender.Children.Add(vmRenders[obj[0].Id]);
- gridRender.Children.Add(Titles[obj[0].Id]);
- Grid.SetRow(vmRenders[obj[0].Id], 1);
- Grid.SetColumn(vmRenders[obj[0].Id], 0);
- Grid.SetRowSpan(vmRenders[obj[0].Id], 1);
- Grid.SetColumnSpan(vmRenders[obj[0].Id], 1);
- Grid.SetRow(Titles[obj[0].Id], 0);
- Grid.SetColumn(Titles[obj[0].Id], 0);
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[0].Id]).Child).HorizontalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[0].Id]).Child).VerticalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[0].Id]).Child).AutoFit = true;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[0].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
- break;
- case 2:
- //增加显示界面
- vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].CameraName } });
- vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].CameraName } });
- Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12,Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- //布局
- gridRender.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- gridRender.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ShowGridLines = true;
- gridRender.Children.Add(vmRenders[obj[0].Id]);
- gridRender.Children.Add(vmRenders[obj[1].Id]);
- gridRender.Children.Add(Titles[obj[0].Id]);
- gridRender.Children.Add(Titles[obj[1].Id]);
- Grid.SetRow(vmRenders[obj[0].Id], 1);
- Grid.SetColumn(vmRenders[obj[0].Id], 0);
- Grid.SetRow(vmRenders[obj[1].Id], 1);
- Grid.SetColumn(vmRenders[obj[1].Id], 1);
- Grid.SetRowSpan(vmRenders[obj[0].Id], 1);
- Grid.SetColumnSpan(vmRenders[obj[0].Id], 1);
- Grid.SetRow(Titles[obj[0].Id], 0);
- Grid.SetColumn(Titles[obj[0].Id], 0);
- Grid.SetRow(Titles[obj[1].Id], 0);
- Grid.SetColumn(Titles[obj[1].Id], 1);
- for (int i = 0; i < 2; i++)
- {
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
- }
- break;
- case 3:
- //增加显示界面
- vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].CameraName } });
- vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].CameraName } });
- vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].CameraName } });
- Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12,Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- //布局
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ShowGridLines = true;
- grid1 = new Grid();
- grid2 = new Grid();
- grid3 = new Grid();
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- gridRender.Children.Add(grid1);
- gridRender.Children.Add(grid2);
- gridRender.Children.Add(grid3);
- Grid.SetRow(grid1, 0);
- Grid.SetColumn(grid1, 0);
- Grid.SetRow(grid2, 0);
- Grid.SetColumn(grid2, 1);
- Grid.SetRow(grid3, 1);
- Grid.SetColumn(grid3, 0);
- Grid.SetColumnSpan(grid3, 2);
- grid1.Children.Add(vmRenders[obj[0].Id]);
- grid2.Children.Add(vmRenders[obj[1].Id]);
- grid3.Children.Add(vmRenders[obj[2].Id]);
- grid1.Children.Add(Titles[obj[0].Id]);
- grid2.Children.Add(Titles[obj[1].Id]);
- grid3.Children.Add(Titles[obj[2].Id]);
- Grid.SetRow(vmRenders[obj[0].Id], 1);
- Grid.SetColumn(vmRenders[obj[0].Id], 0);
- Grid.SetRow(vmRenders[obj[1].Id], 1);
- Grid.SetColumn(vmRenders[obj[1].Id], 0);
- Grid.SetRow(vmRenders[obj[2].Id], 1);
- Grid.SetColumn(vmRenders[obj[2].Id], 0);
- Grid.SetRow(Titles[obj[0].Id], 0);
- Grid.SetColumn(Titles[obj[0].Id], 0);
- Grid.SetRow(Titles[obj[1].Id], 0);
- Grid.SetColumn(Titles[obj[1].Id], 0);
- Grid.SetRow(Titles[obj[2].Id], 0);
- Grid.SetColumn(Titles[obj[2].Id], 0);
- for (int i = 0; i < 3; i++)
- {
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
- }
- break;
- case 4:
- //增加显示界面
- vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].CameraName } });
- vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].CameraName } });
- vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].CameraName } });
- vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].CameraName } });
- Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- //布局
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ShowGridLines = true;
- grid1 = new Grid();
- grid2 = new Grid();
- grid3 = new Grid();
- grid4 = new Grid();
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- gridRender.Children.Add(grid1);
- gridRender.Children.Add(grid2);
- gridRender.Children.Add(grid3);
- gridRender.Children.Add(grid4);
- Grid.SetRow(grid1, 0);
- Grid.SetColumn(grid1, 0);
- Grid.SetRow(grid2, 0);
- Grid.SetColumn(grid2, 1);
- Grid.SetRow(grid3, 1);
- Grid.SetColumn(grid3, 0);
- Grid.SetRow(grid4, 1);
- Grid.SetColumn(grid4, 1);
- grid1.Children.Add(vmRenders[obj[0].Id]);
- grid2.Children.Add(vmRenders[obj[1].Id]);
- grid3.Children.Add(vmRenders[obj[2].Id]);
- grid4.Children.Add(vmRenders[obj[3].Id]);
- grid1.Children.Add(Titles[obj[0].Id]);
- grid2.Children.Add(Titles[obj[1].Id]);
- grid3.Children.Add(Titles[obj[2].Id]);
- grid4.Children.Add(Titles[obj[3].Id]);
- Grid.SetRow(vmRenders[obj[0].Id], 1);
- Grid.SetColumn(vmRenders[obj[0].Id], 0);
- Grid.SetRow(vmRenders[obj[1].Id], 1);
- Grid.SetColumn(vmRenders[obj[1].Id], 0);
- Grid.SetRow(vmRenders[obj[2].Id], 1);
- Grid.SetColumn(vmRenders[obj[2].Id], 0);
- Grid.SetRow(vmRenders[obj[3].Id], 1);
- Grid.SetColumn(vmRenders[obj[3].Id], 0);
- //Grid.SetRowSpan(vmRenders[obj[2].Id], 1);
- //Grid.SetColumnSpan(vmRenders[obj[2].Id], 0);
- Grid.SetRow(Titles[obj[0].Id], 0);
- Grid.SetColumn(Titles[obj[0].Id], 0);
- Grid.SetRow(Titles[obj[1].Id], 0);
- Grid.SetColumn(Titles[obj[1].Id], 0);
- Grid.SetRow(Titles[obj[2].Id], 0);
- Grid.SetColumn(Titles[obj[2].Id], 0);
- Grid.SetRow(Titles[obj[3].Id], 0);
- Grid.SetColumn(Titles[obj[3].Id], 0);
- for (int i = 0; i < 4; i++)
- {
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
- }
- break;
- case 5:
- //增加显示界面
- vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].CameraName } });
- vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].CameraName } });
- vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].CameraName } });
- vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].CameraName } });
- vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].CameraName } });
- Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12 ,Foreground= System.Windows.Media.Brushes.Black});
- Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- //布局
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ShowGridLines = true;
- grid1 = new Grid() { Background= System.Windows.Media.Brushes.White };
- grid2 = new Grid() { Background = System.Windows.Media.Brushes.White };
- grid3 = new Grid() { Background = System.Windows.Media.Brushes.White };
- grid4 = new Grid() { Background = System.Windows.Media.Brushes.White };
- grid5 = new Grid() { Background = System.Windows.Media.Brushes.White };
- grid6 = new Grid() { Background = System.Windows.Media.Brushes.White };
- grid6.ShowGridLines = true;
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid6.ColumnDefinitions.Add(new ColumnDefinition());
- grid6.ColumnDefinitions.Add(new ColumnDefinition());
- grid6.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.Children.Add(grid1);
- gridRender.Children.Add(grid2);
- gridRender.Children.Add(grid6);
- grid6.Children.Add(grid3);
- grid6.Children.Add(grid4);
- grid6.Children.Add(grid5);
- grid1.Children.Add(vmRenders[obj[0].Id]);
- grid2.Children.Add(vmRenders[obj[1].Id]);
- grid3.Children.Add(vmRenders[obj[2].Id]);
- grid4.Children.Add(vmRenders[obj[3].Id]);
- grid5.Children.Add(vmRenders[obj[4].Id]);
- grid1.Children.Add(Titles[obj[0].Id]);
- grid2.Children.Add(Titles[obj[1].Id]);
- grid3.Children.Add(Titles[obj[2].Id]);
- grid4.Children.Add(Titles[obj[3].Id]);
- grid5.Children.Add(Titles[obj[4].Id]);
- Grid.SetRow(grid6, 1);
- Grid.SetColumn(grid6, 0);
- Grid.SetColumnSpan(grid6, 2);
- Grid.SetRow(grid1, 0);
- Grid.SetColumn(grid1, 0);
- Grid.SetRow(grid2, 0);
- Grid.SetColumn(grid2, 1);
- Grid.SetRow(grid3, 0);
- Grid.SetColumn(grid3, 0);
- Grid.SetRow(grid4, 0);
- Grid.SetColumn(grid4, 1);
- Grid.SetRow(grid5, 0);
- Grid.SetColumn(grid5, 2);
- Grid.SetRow(Titles[obj[0].Id], 0);
- Grid.SetColumn(Titles[obj[0].Id], 0);
- Grid.SetRow(Titles[obj[1].Id], 0);
- Grid.SetColumn(Titles[obj[1].Id], 0);
- Grid.SetRow(Titles[obj[2].Id], 0);
- Grid.SetColumn(Titles[obj[2].Id], 0);
- Grid.SetRow(Titles[obj[3].Id], 0);
- Grid.SetColumn(Titles[obj[3].Id], 0);
- Grid.SetRow(Titles[obj[4].Id], 0);
- Grid.SetColumn(Titles[obj[4].Id], 0);
- Grid.SetRow(vmRenders[obj[0].Id], 1);
- Grid.SetColumn(vmRenders[obj[0].Id], 0);
- Grid.SetRow(vmRenders[obj[1].Id], 1);
- Grid.SetColumn(vmRenders[obj[1].Id], 0);
- Grid.SetRow(vmRenders[obj[2].Id], 1);
- Grid.SetColumn(vmRenders[obj[2].Id], 0);
- Grid.SetRow(vmRenders[obj[3].Id], 1);
- Grid.SetColumn(vmRenders[obj[3].Id], 0);
- Grid.SetRow(vmRenders[obj[4].Id], 1);
- Grid.SetColumn(vmRenders[obj[4].Id], 0);
- for (int i = 0; i < 5; i++)
- {
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
- }
- break;
- case 6:
- //增加显示界面
- vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].CameraName } });
- vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].CameraName } });
- vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].CameraName } });
- vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].CameraName } });
- vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].CameraName } });
- vmRenders.Add(obj[5].Id, new WindowsFormsHost() { Tag = obj[5].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[5].CameraName } });
- Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[5].Id, new TextBlock() { Text = obj[5].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- //布局
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ShowGridLines = true;
- grid1 = new Grid();
- grid2 = new Grid();
- grid3 = new Grid();
- grid4 = new Grid();
- grid5 = new Grid();
- grid6 = new Grid();
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- gridRender.Children.Add(grid1);
- gridRender.Children.Add(grid2);
- gridRender.Children.Add(grid3);
- gridRender.Children.Add(grid4);
- gridRender.Children.Add(grid5);
- gridRender.Children.Add(grid6);
- Grid.SetRow(grid1, 0);
- Grid.SetColumn(grid1, 0);
- Grid.SetRow(grid2, 0);
- Grid.SetColumn(grid2, 1);
- Grid.SetRow(grid3, 0);
- Grid.SetColumn(grid3, 2);
- Grid.SetRow(grid4, 1);
- Grid.SetColumn(grid4, 0);
- Grid.SetRow(grid5, 1);
- Grid.SetColumn(grid5, 1);
- Grid.SetRow(grid6, 1);
- Grid.SetColumn(grid6, 2);
- grid1.Children.Add(vmRenders[obj[0].Id]);
- grid2.Children.Add(vmRenders[obj[1].Id]);
- grid3.Children.Add(vmRenders[obj[2].Id]);
- grid4.Children.Add(vmRenders[obj[3].Id]);
- grid5.Children.Add(vmRenders[obj[4].Id]);
- grid6.Children.Add(vmRenders[obj[5].Id]);
- grid1.Children.Add(Titles[obj[0].Id]);
- grid2.Children.Add(Titles[obj[1].Id]);
- grid3.Children.Add(Titles[obj[2].Id]);
- grid4.Children.Add(Titles[obj[3].Id]);
- grid5.Children.Add(Titles[obj[4].Id]);
- grid6.Children.Add(Titles[obj[5].Id]);
- Grid.SetRow(Titles[obj[0].Id], 0);
- Grid.SetColumn(Titles[obj[0].Id], 0);
- Grid.SetRow(Titles[obj[1].Id], 0);
- Grid.SetColumn(Titles[obj[1].Id], 0);
- Grid.SetRow(Titles[obj[2].Id], 0);
- Grid.SetColumn(Titles[obj[2].Id], 0);
- Grid.SetRow(Titles[obj[3].Id], 0);
- Grid.SetColumn(Titles[obj[3].Id], 0);
- Grid.SetRow(Titles[obj[4].Id], 0);
- Grid.SetColumn(Titles[obj[4].Id], 0);
- Grid.SetRow(Titles[obj[5].Id], 0);
- Grid.SetColumn(Titles[obj[5].Id], 0);
- Grid.SetRow(vmRenders[obj[0].Id], 1);
- Grid.SetColumn(vmRenders[obj[0].Id], 0);
- Grid.SetRow(vmRenders[obj[1].Id], 1);
- Grid.SetColumn(vmRenders[obj[1].Id], 0);
- Grid.SetRow(vmRenders[obj[2].Id], 1);
- Grid.SetColumn(vmRenders[obj[2].Id], 0);
- Grid.SetRow(vmRenders[obj[3].Id], 1);
- Grid.SetColumn(vmRenders[obj[3].Id], 0);
- Grid.SetRow(vmRenders[obj[4].Id], 1);
- Grid.SetColumn(vmRenders[obj[4].Id], 0);
- Grid.SetRow(vmRenders[obj[5].Id], 1);
- Grid.SetColumn(vmRenders[obj[5].Id], 0);
- for (int i = 0; i < 6; i++)
- {
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
- }
- break;
- case 7:
- //增加显示界面
- vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].CameraName } });
- vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].CameraName } });
- vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].CameraName } });
- vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].CameraName } });
- vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].CameraName } });
- vmRenders.Add(obj[5].Id, new WindowsFormsHost() { Tag = obj[5].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[5].CameraName } });
- vmRenders.Add(obj[6].Id, new WindowsFormsHost() { Tag = obj[6].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[6].CameraName } });
- Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[5].Id, new TextBlock() { Text = obj[5].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[6].Id, new TextBlock() { Text = obj[6].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- //布局
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ShowGridLines = true;
- grid1 = new Grid();
- grid2 = new Grid();
- grid3 = new Grid();
- grid4 = new Grid();
- grid5 = new Grid();
- grid6 = new Grid();
- grid7 = new Grid();
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- gridRender.Children.Add(grid1);
- gridRender.Children.Add(grid2);
- gridRender.Children.Add(grid3);
- gridRender.Children.Add(grid4);
- gridRender.Children.Add(grid5);
- gridRender.Children.Add(grid6);
- gridRender.Children.Add(grid7);
- Grid.SetRow(grid1, 0);
- Grid.SetColumn(grid1, 0);
- Grid.SetRow(grid2, 0);
- Grid.SetColumn(grid2, 1);
- Grid.SetRow(grid3, 0);
- Grid.SetColumn(grid3, 2);
- Grid.SetRow(grid4, 0);
- Grid.SetColumn(grid4, 3);
- Grid.SetRow(grid5, 1);
- Grid.SetColumn(grid5, 0);
- Grid.SetRow(grid6, 1);
- Grid.SetColumn(grid6, 1);
- Grid.SetRow(grid7, 1);
- Grid.SetColumn(grid7, 2);
- grid1.Children.Add(vmRenders[obj[0].Id]);
- grid2.Children.Add(vmRenders[obj[1].Id]);
- grid3.Children.Add(vmRenders[obj[2].Id]);
- grid4.Children.Add(vmRenders[obj[3].Id]);
- grid5.Children.Add(vmRenders[obj[4].Id]);
- grid6.Children.Add(vmRenders[obj[5].Id]);
- grid7.Children.Add(vmRenders[obj[6].Id]);
- grid1.Children.Add(Titles[obj[0].Id]);
- grid2.Children.Add(Titles[obj[1].Id]);
- grid3.Children.Add(Titles[obj[2].Id]);
- grid4.Children.Add(Titles[obj[3].Id]);
- grid5.Children.Add(Titles[obj[4].Id]);
- grid6.Children.Add(Titles[obj[5].Id]);
- grid7.Children.Add(Titles[obj[6].Id]);
- Grid.SetRow(Titles[obj[0].Id], 0);
- Grid.SetColumn(Titles[obj[0].Id], 0);
- Grid.SetRow(Titles[obj[1].Id], 0);
- Grid.SetColumn(Titles[obj[1].Id], 0);
- Grid.SetRow(Titles[obj[2].Id], 0);
- Grid.SetColumn(Titles[obj[2].Id], 0);
- Grid.SetRow(Titles[obj[3].Id], 0);
- Grid.SetColumn(Titles[obj[3].Id], 0);
- Grid.SetRow(Titles[obj[4].Id], 0);
- Grid.SetColumn(Titles[obj[4].Id], 0);
- Grid.SetRow(Titles[obj[5].Id], 0);
- Grid.SetColumn(Titles[obj[5].Id], 0);
- Grid.SetRow(Titles[obj[6].Id], 0);
- Grid.SetColumn(Titles[obj[6].Id], 0);
- Grid.SetRow(vmRenders[obj[0].Id], 1);
- Grid.SetColumn(vmRenders[obj[0].Id], 0);
- Grid.SetRow(vmRenders[obj[1].Id], 1);
- Grid.SetColumn(vmRenders[obj[1].Id], 0);
- Grid.SetRow(vmRenders[obj[2].Id], 1);
- Grid.SetColumn(vmRenders[obj[2].Id], 0);
- Grid.SetRow(vmRenders[obj[3].Id], 1);
- Grid.SetColumn(vmRenders[obj[3].Id], 0);
- Grid.SetRow(vmRenders[obj[4].Id], 1);
- Grid.SetColumn(vmRenders[obj[4].Id], 0);
- Grid.SetRow(vmRenders[obj[5].Id], 1);
- Grid.SetColumn(vmRenders[obj[5].Id], 0);
- Grid.SetRow(vmRenders[obj[6].Id], 1);
- Grid.SetColumn(vmRenders[obj[6].Id], 0);
- for (int i = 0; i < 7; i++)
- {
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
- }
- break;
- case 8:
- //增加显示界面
- vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].CameraName } });
- vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].CameraName } });
- vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].CameraName } });
- vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].CameraName } });
- vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].CameraName } });
- vmRenders.Add(obj[5].Id, new WindowsFormsHost() { Tag = obj[5].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[5].CameraName } });
- vmRenders.Add(obj[6].Id, new WindowsFormsHost() { Tag = obj[6].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[6].CameraName } });
- vmRenders.Add(obj[7].Id, new WindowsFormsHost() { Tag = obj[6].CameraName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[7].CameraName } });
- Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[5].Id, new TextBlock() { Text = obj[5].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[6].Id, new TextBlock() { Text = obj[6].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- Titles.Add(obj[7].Id, new TextBlock() { Text = obj[7].CameraName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
- //布局
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.RowDefinitions.Add(new RowDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ColumnDefinitions.Add(new ColumnDefinition());
- gridRender.ShowGridLines = true;
- grid1 = new Grid();
- grid2 = new Grid();
- grid3 = new Grid();
- grid4 = new Grid();
- grid5 = new Grid();
- grid6 = new Grid();
- grid7 = new Grid();
- grid8 = new Grid();
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- grid8.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
- grid8.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
- gridRender.Children.Add(grid1);
- gridRender.Children.Add(grid2);
- gridRender.Children.Add(grid3);
- gridRender.Children.Add(grid4);
- gridRender.Children.Add(grid5);
- gridRender.Children.Add(grid6);
- gridRender.Children.Add(grid7);
- gridRender.Children.Add(grid8);
- Grid.SetRow(grid1, 0);
- Grid.SetColumn(grid1, 0);
- Grid.SetRow(grid2, 0);
- Grid.SetColumn(grid2, 1);
- Grid.SetRow(grid3, 0);
- Grid.SetColumn(grid3, 2);
- Grid.SetRow(grid4, 0);
- Grid.SetColumn(grid4, 3);
- Grid.SetRow(grid5, 1);
- Grid.SetColumn(grid5, 0);
- Grid.SetRow(grid6, 1);
- Grid.SetColumn(grid6, 1);
- Grid.SetRow(grid7, 1);
- Grid.SetColumn(grid7, 2);
- Grid.SetRow(grid8, 1);
- Grid.SetColumn(grid8, 3);
- grid1.Children.Add(vmRenders[obj[0].Id]);
- grid2.Children.Add(vmRenders[obj[1].Id]);
- grid3.Children.Add(vmRenders[obj[2].Id]);
- grid4.Children.Add(vmRenders[obj[3].Id]);
- grid5.Children.Add(vmRenders[obj[4].Id]);
- grid6.Children.Add(vmRenders[obj[5].Id]);
- grid7.Children.Add(vmRenders[obj[6].Id]);
- grid8.Children.Add(vmRenders[obj[7].Id]);
- grid1.Children.Add(Titles[obj[0].Id]);
- grid2.Children.Add(Titles[obj[1].Id]);
- grid3.Children.Add(Titles[obj[2].Id]);
- grid4.Children.Add(Titles[obj[3].Id]);
- grid5.Children.Add(Titles[obj[4].Id]);
- grid6.Children.Add(Titles[obj[5].Id]);
- grid7.Children.Add(Titles[obj[6].Id]);
- grid8.Children.Add(Titles[obj[7].Id]);
- Grid.SetRow(Titles[obj[0].Id], 0);
- Grid.SetColumn(Titles[obj[0].Id], 0);
- Grid.SetRow(Titles[obj[1].Id], 0);
- Grid.SetColumn(Titles[obj[1].Id], 0);
- Grid.SetRow(Titles[obj[2].Id], 0);
- Grid.SetColumn(Titles[obj[2].Id], 0);
- Grid.SetRow(Titles[obj[3].Id], 0);
- Grid.SetColumn(Titles[obj[3].Id], 0);
- Grid.SetRow(Titles[obj[4].Id], 0);
- Grid.SetColumn(Titles[obj[4].Id], 0);
- Grid.SetRow(Titles[obj[5].Id], 0);
- Grid.SetColumn(Titles[obj[5].Id], 0);
- Grid.SetRow(Titles[obj[6].Id], 0);
- Grid.SetColumn(Titles[obj[6].Id], 0);
- Grid.SetRow(Titles[obj[7].Id], 0);
- Grid.SetColumn(Titles[obj[7].Id], 0);
- Grid.SetRow(vmRenders[obj[0].Id], 1);
- Grid.SetColumn(vmRenders[obj[0].Id], 0);
- Grid.SetRow(vmRenders[obj[1].Id], 1);
- Grid.SetColumn(vmRenders[obj[1].Id], 0);
- Grid.SetRow(vmRenders[obj[2].Id], 1);
- Grid.SetColumn(vmRenders[obj[2].Id], 0);
- Grid.SetRow(vmRenders[obj[3].Id], 1);
- Grid.SetColumn(vmRenders[obj[3].Id], 0);
- Grid.SetRow(vmRenders[obj[4].Id], 1);
- Grid.SetColumn(vmRenders[obj[4].Id], 0);
- Grid.SetRow(vmRenders[obj[5].Id], 1);
- Grid.SetColumn(vmRenders[obj[5].Id], 0);
- Grid.SetRow(vmRenders[obj[6].Id], 1);
- Grid.SetColumn(vmRenders[obj[6].Id], 0);
- Grid.SetRow(vmRenders[obj[7].Id], 1);
- Grid.SetColumn(vmRenders[obj[7].Id], 0);
- for (int i = 0; i < 8; i++)
- {
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
- ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
- }
- break;
- default:
- break;
- }
- }
- /// <summary>
- /// 保存图像
- /// </summary>
- /// <param name="saveImageModel">要保存图像的模式</param>
- /// <param name="saveImagePathModel">图像保存路径类型</param>
- /// <param name="path">保存图像的文件夹路径</param>
- /// <param name="image">原图像</param>
- /// <param name="reimage">渲染图像</param>
- /// <param name="result">拍照结果</param>
- /// <param name="isCompress">是否压缩</param>
- private void SaveImage(ProcedureSaveImageModel saveImageModel, ProcedureSaveImagePathModel saveImagePathModel, string path, ICogImage image, Bitmap reimage, bool result, bool isCompress, ImageParameters imgPara)
- {
- if (string.IsNullOrEmpty(path) || string.IsNullOrWhiteSpace(path) || !Path.IsPathRooted(path))
- {
- _eventAggregator.GetEvent<TaskMessageNotification>().Publish(new Models.MessageStruct() { Message = "保存图像路径为无效的路径!", level = MessageLevel.Alarm });
- return;
- }
- Task.Run(() =>
- {
- try
- {
- DateTime now = DateTime.Now;
- if (saveImageModel == ProcedureSaveImageModel.Original)
- {
- string Originalpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_OkNG_Time)
- {
- if (result)
- {
- Originalpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\OK\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- else
- {
- Originalpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\NG\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- }
- else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ok_Time)
- {
- if (result)
- {
- Originalpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\OK\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- else
- {
- return;
- }
- }
- else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ng_Time)
- {
- if (!result)
- {
- Originalpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\NG\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- else
- {
- return;
- }
- }
- else if (saveImagePathModel== ProcedureSaveImagePathModel.Month_Day_Formula_ProductSN_Time)
- {
- //当前的产品配方名
- string formulaName = _productService.GetCurrentProduct().Name;
- //如果当前产品名称存在非法字符,则替换为下划线
- foreach (char c in Path.GetInvalidFileNameChars())
- {
- formulaName = formulaName.Replace(c, '_');
- }
- //获取当前的产品SN
- string productSN = _productService.CurrentProductCode;
- //如果产品SN存在非法字符,则替换为下划线
- foreach (char c in Path.GetInvalidFileNameChars())
- {
- productSN = productSN.Replace(c, '_');
- }
- //拍照结果
- string resultStr = result ? "OK" : "NG";
- Originalpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\{formulaName}\\{productSN}\\{productSN}-{now.ToString("yyyy-MM-dd HH_mm_ss")}-{resultStr}.bmp";
- }
- if (!Directory.Exists(Path.GetDirectoryName(Originalpath))) //判断文件夹是否存在
- {
- Directory.CreateDirectory(Path.GetDirectoryName(Originalpath)); //创建文件夹
- }
- using (CogImageFileBMP _cogImageFileTool = new CogImageFileBMP())
- {
- _cogImageFileTool.Open(Originalpath, CogImageFileModeConstants.Write);
- _cogImageFileTool.Append(image);
- _cogImageFileTool.Close();
- }
- }
- else if (saveImageModel == ProcedureSaveImageModel.Recorded)
- {
- string Recordedpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_OkNG_Time)
- {
- if (result)
- {
- Recordedpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\OK\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- else
- {
- Recordedpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\NG\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- }
- else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ok_Time)
- {
- if (result)
- {
- Recordedpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\OK\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- else
- {
- return;
- }
- }
- else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ng_Time)
- {
- if (!result)
- {
- Recordedpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\NG\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- else
- {
- return;
- }
- }
- else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Formula_ProductSN_Time)
- {
- //当前的产品配方名
- string formulaName = _productService.GetCurrentProduct().Name;
- //如果当前产品名称存在非法字符,则替换为下划线
- foreach (char c in Path.GetInvalidFileNameChars())
- {
- formulaName = formulaName.Replace(c, '_');
- }
- //获取当前的产品SN
- string productSN = _productService.CurrentProductCode;
- //如果产品SN存在非法字符,则替换为下划线
- foreach (char c in Path.GetInvalidFileNameChars())
- {
- productSN = productSN.Replace(c, '_');
- }
- //拍照结果
- string resultStr = result ? "OK" : "NG";
- Recordedpath = $"{path}\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\{formulaName}\\{productSN}\\{productSN}-{now.ToString("yyyy-MM-dd HH_mm_ss")}-{resultStr}.bmp";
- }
- if (!Directory.Exists(Path.GetDirectoryName(Recordedpath))) //判断文件夹是否存在
- {
- Directory.CreateDirectory(Path.GetDirectoryName(Recordedpath)); //创建文件夹
- }
- if (isCompress)
- {
- ImageHelper.CompressImage(reimage, Recordedpath, 100);
- }
- else
- {
- reimage.Save(Recordedpath);
- reimage.Dispose();
- }
- }
- else if (saveImageModel == ProcedureSaveImageModel.OriginalAndRecorded)
- {
- string Originalpath = $"{path}\\Original\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- string Recordedpath = $"{path}\\Recored\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_OkNG_Time)
- {
- if (result)
- {
- Originalpath = $"{path}\\Original\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\OK\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- Recordedpath = $"{path}\\Recored\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\OK\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- else
- {
- Originalpath = $"{path}\\Original\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\NG\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- Recordedpath = $"{path}\\Recored\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\NG\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- }
- else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ok_Time)
- {
- if (result)
- {
- Originalpath = $"{path}\\Original\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\OK\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- Recordedpath = $"{path}\\Recored\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\OK\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- else
- {
- return;
- }
- }
- else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ng_Time)
- {
- if (!result)
- {
- Originalpath = $"{path}\\Original\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\NG\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- Recordedpath = $"{path}\\Recored\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\NG\\{now.ToString("yyyy-MM-dd HH_mm_ss")}.bmp";
- }
- else
- {
- return;
- }
- }
- else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Formula_ProductSN_Time)
- {
- //当前的产品配方名
- string formulaName = _productService.GetCurrentProduct().Name;
- //如果当前产品名称存在非法字符,则替换为下划线
- foreach (char c in Path.GetInvalidFileNameChars())
- {
- formulaName = formulaName.Replace(c, '_');
- }
- //获取当前的产品SN
- string productSN = _productService.CurrentProductCode;
- //如果产品SN存在非法字符,则替换为下划线
- foreach (char c in Path.GetInvalidFileNameChars())
- {
- productSN = productSN.Replace(c, '_');
- }
- //拍照结果
- string resultStr = result ? "OK" : "NG";
- Originalpath = $"{path}\\Original\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\{formulaName}\\{productSN}\\{productSN}-{now.ToString("yyyy-MM-dd HH_mm_ss")}-{resultStr}.bmp";
- Recordedpath = $"{path}\\Recored\\{now.ToString("yyyy-MM")}\\{now.ToString("MM-dd")}\\{formulaName}\\{productSN}\\{productSN}-{now.ToString("yyyy-MM-dd HH_mm_ss")}-{resultStr}.bmp";
- }
- if (!Directory.Exists(Path.GetDirectoryName(Originalpath))) //判断文件夹是否存在
- {
- Directory.CreateDirectory(Path.GetDirectoryName(Originalpath)); //创建文件夹
- }
- using (CogImageFileBMP _cogImageFileTool = new CogImageFileBMP())
- {
- _cogImageFileTool.Open(Originalpath, CogImageFileModeConstants.Write);
- _cogImageFileTool.Append(image);
- _cogImageFileTool.Close();
- }
- if (!Directory.Exists(Path.GetDirectoryName(Recordedpath))) //判断文件夹是否存在
- {
- Directory.CreateDirectory(Path.GetDirectoryName(Recordedpath)); //创建文件夹
- }
- if (isCompress)
- {
- ImageHelper.CompressImage(reimage, Recordedpath, 100);
- }
- else
- {
- reimage.Save(Recordedpath);
- reimage.Dispose();
- }
- }
- }
- catch (Exception ex)
- {
- LogHelper.WriteLogError("保存流程运行结果的图片时出错!", ex);
- }
- });
- }
- private void ProductChanged(ProductModel product)
- {
- this.gridRender.Dispatcher.BeginInvoke(new Action(() =>
- {
- foreach (var item in vmRenders)
- {
- try
- {
- if (((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Tag != null)
- {
- ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Image = null;
- ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).StaticGraphics.Clear();
- break;
- }
- }
- catch (Exception ex)
- {
- LogHelper.WriteLogError(Lang.切换产品清除主页图像时出错, ex);
- }
-
- }
- }));
- }
- }
- }
|