123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Shapes;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- namespace AIRS
- {
- /// <summary>
- /// Full_Screen_View.xaml 的交互逻辑
- /// </summary>
- public partial class Full_Screen_View : Window
- {
- private Boolean isDown = false;
- Point ptDown = new Point();
- public String cir_rect = "";
- public double zoom_key = 1;
- public double rect_left = 0;
- public double rect_top = 0;
- public Boolean[] feild_change;
- public Full_Screen_View()
- {
- InitializeComponent();
- }
- ScaleTransform st;
- TranslateTransform tt;
- TransformGroup group;
- bool isDrag = false;
- Point startPoint;
- public string ProcessFileName = "AI";//传来的文件夹名
- public int ProcessOrInitial = 1;//调用本页时查看分析过程图时参数为1,图片放大缩小时为0
- public int cureent = 0;//默认选中第一个图片
- List<string> picList = new List<string>();//图片列表
- public int selectindex = 0;//将来会被弃用
- public Dictionary<string, List<string>> imglist = new Dictionary<string, List<string>>();
- public List<string> ImgAnalysisList = new List<string>();//list测试完的图片名分析过程图只是传过来一张
- bool isyuantudingwei = true;
- private void pdisyuan()
- {
- if (ProcessOrInitial == 0)
- {
- isyuantudingwei = true;
- }
- if (ProcessOrInitial == 1)
- {
- isyuantudingwei = false;
- }
- }
- /// <summary>
- /// 按键响应
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MainWindows_Keydown(object sender, System.Windows.Input.KeyEventArgs e)
- {
- if (Keyboard.IsKeyDown(Key.Left))
- {
- e.Handled = true;
- if (cureent > 0)
- {
- cureent--;
- select_picture_index_path(cureent, picList);
- ShowImagesAnalysis(cureent, ImgAnalysisList);
- }
- //MessageBox.Show("按下了左键!");
- }
- if (Keyboard.IsKeyDown(Key.Right))
- {
- e.Handled = true;
- if (cureent < picList.Count - 1)
- {
- cureent++;
- select_picture_index_path(cureent, picList);
- ShowImagesAnalysis(cureent, ImgAnalysisList);
- }
- //MessageBox.Show("按下了右键!");
- }
- if (Keyboard.IsKeyDown(Key.Escape))
- {
- e.Handled = true;
- this.Close();
- //MessageBox.Show("按下了右键!");
- }
- }
- private void Window_Loaded(object sender, RoutedEventArgs e)
- {
-
- this.img_l_f.PreviewMouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(Button_Previous_Click);
- this.img_r_f.PreviewMouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(Button_Next_Click);
- //ShowImg(selectindex, imglist["imgList"]);
- cureent = selectindex;
- showProjects();
- pdisyuan();
- Console.WriteLine("传来的"+ProcessOrInitial);
- //ShowImagesAnalysis(cureent,ImgAnalysisList);//检验名称信息列表
- //ShowImagesAnalysis(selectindex,ImgAnalysisList);//检验名称信息列表
- //ShowCheckBoxTextAndCheck();
- group = (TransformGroup)grdMap.RenderTransform;
- st = group.Children[0] as ScaleTransform;
- tt = group.Children[3] as TranslateTransform;
- for(int i=0;i<feild_change.Length;i++)
- {
- feild_change[i] = false;
- }
-
- }
- /// <summary>
- /// 定位原图
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Menu_Click_Positionimage(object sender, RoutedEventArgs e)
- {
- // MainWindow mainWindow = new MainWindow();
-
- if (isyuantudingwei == true)
- {
- if (File.Exists(imglist["imgList"][cureent]))
- {
- // MessageBox.Show("有原图" + ProcessOrInitial + isyuan + imglist["imgList"][cureent]);
- //mainWindow.OpenFolderAndSelectFile(imglist["imgList"][cureent]);
- Common.locateFile(imglist["imgList"][cureent]);
- }
-
- }
- else
- {
- if (File.Exists(ListImagesPathParsingProcess(imglist["imgList"])[cureent]))
- {
- Common.locateFile(ListImagesPathParsingProcess(imglist["imgList"])[cureent]);
- //mainWindow.OpenFolderAndSelectFile(ListImagesPathParsingProcess(imglist["imgList"])[cureent]);
- // MessageBox.Show("分析过程路径" + ProcessOrInitial + isyuan + ListImagesPathParsingProcess(imglist["imgList"])[cureent]);
- }
-
- }
-
- }
- /// <summary>
- /// 显示原图或分析过程
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void CheckBox_Click(object sender, RoutedEventArgs e)
- {
- isyuantudingwei = !isyuantudingwei;
- //MessageBox.Show("看卡" + isyuan);
- showProjects();
-
- //if (CheckBoxProcessOrInitial.IsChecked == true)
- //{
- // // ProcessOrInitial = 0;
- // showProjects();
- // //MessageBox.Show("按下了1键" +CheckBoxProcessOrInitial.IsChecked);
- //}
- //else
- //{
- // // ProcessOrInitial = 1;
- // showProjects();
- // //MessageBox.Show("按下了2键" +CheckBoxProcessOrInitial.IsChecked);
- //}
- //ShowCheckBoxTextAndCheck();
- //if (ProcessOrInitial == 0)
- //{
- // //ProcessOrInitial = 1;
- // //showProjects();
- // //MessageBox.Show("按下了右键" +CheckBoxProcessOrInitial.IsChecked);
- //}
- //if (ProcessOrInitial == 1)
- //{
- // // ProcessOrInitial = 0;
- // // showProjects();
- // //MessageBox.Show("按下了右键" + CheckBoxProcessOrInitial.IsChecked);
- //}
- }
- //private void checkboxzt()
- //{
- // if (ProcessOrInitial == 0)
- // {
- // CheckBoxProcessOrInitial.Visibility = Visibility.Hidden;
- // // CheckBoxProcessOrInitial.IsChecked = true;
- // }
- // if(ProcessOrInitial == 1)
- // {
- // CheckBoxProcessOrInitial.Visibility = Visibility.Visible;
- // CheckBoxProcessOrInitial.IsChecked = false;
- // }
- //}
-
- /// <summary>
- /// 根据传来的ProcessOrInitial的值 显示状态
- /// </summary>
- private void showProjects()
- {
- if (ProcessOrInitial == 0)
- {
- //CheckBoxProcessOrInitial.Content = "显示原图";
- //CheckBoxProcessOrInitial.IsChecked = true;
- //ShowImg(selectindex, imglist["imgList"]);
- ShowImagesAnalysis(cureent, ImgAnalysisList);
- ShowImg(cureent, imglist["imgList"]);
-
- CheckBoxProcessOrInitial.Visibility = Visibility.Hidden;
- //MessageBox.Show("按下了右键" + CheckBoxProcessOrInitial.IsChecked);
- }
- if (ProcessOrInitial == 1)
- {
- CheckBoxProcessOrInitial.Visibility = Visibility.Visible;
- // CheckBoxProcessOrInitial.IsChecked = false;
- if (CheckBoxProcessOrInitial.IsChecked == true)
- {
- ShowImagesAnalysis(cureent, ImgAnalysisList);
- ShowImg(cureent, imglist["imgList"]);
-
- }
- else
- {
- List<string> list = new List<string>();
- //CheckBoxProcessOrInitial.Content = "分析过程";
- //CheckBoxProcessOrInitial.IsChecked = true;
- list = ListImagesPathParsingProcess(imglist["imgList"]);
- //ShowImg(selectindex, imglist["imgList"]);
- ShowImagesAnalysis(cureent, ImgAnalysisList);
- ShowImg(cureent, list);
-
- }
- //MessageBox.Show("按下了右键" + CheckBoxProcessOrInitial.IsChecked);
- }
- //checkboxzt();
- }
- private void grdMap_MouseWheel(object sender, MouseWheelEventArgs e)
- {
- var point = e.GetPosition(grdRelative); // 实际点击的点
- var actualPoint = group.Inverse.Transform(point); // 想要缩放的点
- slider.Value = slider.Value + (double)e.Delta / 1000;
- tt.X = -((actualPoint.X * (slider.Value - 1))) + point.X - actualPoint.X;
- tt.Y = -((actualPoint.Y * (slider.Value - 1))) + point.Y - actualPoint.Y;
- }
- private void grdMap_MouseDown(object sender, MouseButtonEventArgs e)
- {
- isDrag = true;
- startPoint = e.GetPosition(grdRelative);
- }
- private void grdMap_MouseUp(object sender, MouseButtonEventArgs e)
- {
- isDrag = false;
- }
- private void grdMap_MouseLeave(object sender, MouseEventArgs e)
- {
- isDrag = false;
- }
- private void grdMap_MouseMove(object sender, MouseEventArgs e)
- {
- if (isDrag)
- {
- Point p = e.GetPosition(grdRelative);
- Point topPoint = grdMap.TranslatePoint(new Point(0, 0), grdRelative);
- Point bottomPoint = grdMap.TranslatePoint(new Point(grdMap.ActualWidth, grdMap.ActualHeight), grdRelative);
- double moveX = p.X - startPoint.X;
- double moveY = p.Y - startPoint.Y;
- //向上向下移动条件判断(会有一点点的小偏移,如果想更精确的控制,那么分向上和向下两种情况,并判断边距)
- if ((moveY < 0 && bottomPoint.Y > grdRelative.ActualHeight) || (moveY > 0 && topPoint.Y < 0))
- {
- tt.Y += (p.Y - startPoint.Y);
- startPoint.Y = p.Y;
- }
- //向左向右移动条件判断
- if ((moveX < 0 && bottomPoint.X > grdRelative.ActualWidth) || (moveX > 0 && topPoint.X < 0))
- {
- tt.X += (p.X - startPoint.X);
- startPoint.X = p.X;
- }
- }
- }
-
- /// <summary>
- /// 显示图片
- /// </summary>
- /// <param name="list"></param>
- public void ShowImg(int index,List<string> list)
- {
- try
- {
- if (index > -1 && list.Count > 0)
- {
- BitmapImage bi = new BitmapImage();
- bi.BeginInit();
- bi.CacheOption = BitmapCacheOption.OnLoad;
- picList = list;
- cureent = index;
- if (!File.Exists(picList[index]))
- {
- // Console.WriteLine(picList[index]);
- // MessageBox.Show("图片不存在!", "提示您", MessageBoxButton.OK, MessageBoxImage.Warning);
- if (!File.Exists(imglist["imgList"][index]))
- {
- MessageBox.Show("原图片与分析图片都不存在!", "提示您", MessageBoxButton.OK, MessageBoxImage.Warning);
- return;
- }
- bi.UriSource = new Uri(imglist["imgList"][index]);
- bi.EndInit();
- // target.Source = new BitmapImage(new Uri(listPics[index]));
- target.Source = bi;
- showLeftAndRight();
- this.show.Text = "未能分析";
- return;
- }
- Uri uri = new Uri(picList[index], UriKind.Absolute);
- //bi.BeginInit();
- //bi.CacheOption = BitmapCacheOption.OnLoad;
- bi.UriSource = uri;
- bi.EndInit();
- // BitmapImage source = new BitmapImage(uri);
- target.Source = bi;
- //计算缩放比
- int iw = bi.PixelWidth;
- int ih = bi.PixelHeight;
- double vw = target.Width;
- double vh = target.Height;
- double propw = iw / vw;
- double proph = ih / vh;
- if (propw > proph)
- {
- zoom_key = propw;
- rect_top = (vh - ih / propw) / 2;
- rect_left = 0;
- }
- else
- {
- zoom_key = proph;
- rect_top = 0;
- rect_left = (vw - iw / proph) / 2;
- }
- //检测是否有视场文件
- if (isyuantudingwei)
- {
- String field = System.IO.Path.GetDirectoryName(picList[index]) + "\\AI\\";
- field = field + System.IO.Path.GetFileNameWithoutExtension(picList[index]) + ".fld";
- if (File.Exists(field))
- {
- StreamReader file = new StreamReader(field);
- using (JsonTextReader reader = new JsonTextReader(file))
- {
- JObject o = (JObject)JToken.ReadFrom(reader);
- JObject param = JObject.Parse(o["viewport"].ToString());
- string c_r = param["type"].ToString();
- if (c_r.ToString() == "C")
- {
- double r = Convert.ToDouble(param["w"].ToString()) / 2;
- double x = Convert.ToDouble(param["x"].ToString()) + r;
- double y = Convert.ToDouble(param["y"].ToString()) + r;
- this.circle.RadiusX = r / zoom_key;
- this.circle.RadiusY = r / this.zoom_key;
- this.circle.Center = new Point(x / this.zoom_key + this.rect_left, y / this.zoom_key + this.rect_top);
- this.field.Fill = new SolidColorBrush(Color.FromArgb(0x80, 0xFF, 0xFF, 0xFF));
- this.fieldr.Fill = new SolidColorBrush(Color.FromArgb(0x80, 0xFF, 0xFF, 0xFF));
- this.field.Visibility = Visibility.Visible;
- this.fieldr.Visibility = Visibility.Hidden;
- }
- else
- {
- double _left = Convert.ToDouble(param["x"].ToString());
- double _top = Convert.ToDouble(param["y"].ToString());
- double _width = Convert.ToDouble(param["w"].ToString());
- double _height = Convert.ToDouble(param["h"].ToString());
- this.rectrr.Rect = new Rect(_left / this.zoom_key + this.rect_left, _top / zoom_key + this.rect_top, _width / this.zoom_key, _height / this.zoom_key);
- this.field.Fill = new SolidColorBrush(Color.FromArgb(0x80, 0xFF, 0xFF, 0xFF));
- this.fieldr.Fill = new SolidColorBrush(Color.FromArgb(0x80, 0xFF, 0xFF, 0xFF));
- this.field.Visibility = Visibility.Hidden;
- this.fieldr.Visibility = Visibility.Visible;
- }
- reader.Close();
- file.Close();
- file.Dispose();
- }
-
- }
- }
- }
- else
- {
- MessageBox.Show("图片在来的路上?", "提示您", MessageBoxButton.OK, MessageBoxImage.Warning);
- }
- }
- catch (Exception e)
- {
- System.Windows.MessageBox.Show(e.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- //for(int i = 0; i < picList.Count; i++)
- //{
- // Uri uri = new Uri(picList[i], UriKind.Absolute);
- // BitmapImage source = new BitmapImage(uri);
- // target.Source = source;
- // // this.show.Text = source.PixelWidth.ToString();
- //}
- }
- /// <summary>
- /// 显示图片分析数据
- ///
- /// </summary>
- /// <param name="index"></param>
- /// <param name="listPics"></param>
- public void ShowImagesAnalysis(int index, List<string> listAnalysis)
- {
- try
- {
- show.Text = listAnalysis[index];
- showLeftAndRight();
- }
- catch (Exception e)
- {
- System.Windows.MessageBox.Show(e.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- /// <summary>
- /// 上一页
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Button_Previous_Click(object sender, RoutedEventArgs e)
- {
- if (cureent > 0)
- {
- cureent--;
- ShowImagesAnalysis(cureent, ImgAnalysisList);
- select_picture_index_path(cureent, picList);
-
- }
- }
- /// <summary>
- /// 下一页
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Button_Next_Click(object sender, RoutedEventArgs e)
- {
- if (cureent < picList.Count - 1)
- {
- cureent++;
-
-
- ShowImagesAnalysis(cureent, ImgAnalysisList);
- select_picture_index_path(cureent, picList);
- }
- }
- /// <summary>
- /// 显示图片//显示分析图片用到了
- ///
- /// </summary>
- /// <param name="index"></param>
- /// <param name="listPics"></param>
- public void select_picture_index_path(int index, List<string> listPics)
- {
- try
- {
-
- BitmapImage bi = new BitmapImage();
- bi.BeginInit();
- bi.CacheOption = BitmapCacheOption.OnLoad;
- if (!File.Exists(picList[index]))
- {
- // Console.WriteLine(picList[index]);
- // MessageBox.Show("图片不存在!", "提示您", MessageBoxButton.OK, MessageBoxImage.Warning);
- if (!File.Exists(imglist["imgList"][index]))
- {
- MessageBox.Show("原图片与分析图片都不存在!", "提示您", MessageBoxButton.OK, MessageBoxImage.Warning);
- return;
- }
- bi.UriSource = new Uri(imglist["imgList"][index]);
- bi.EndInit();
- // target.Source = new BitmapImage(new Uri(listPics[index]));
- target.Source = bi;
- show.Text = "未能分析";
- showLeftAndRight();
- return;
- }
- bi.UriSource = new Uri(listPics[index]);
- bi.EndInit();
- // target.Source = new BitmapImage(new Uri(listPics[index]));
- target.Source = bi;
- //计算缩放比
- int iw = bi.PixelWidth;
- int ih = bi.PixelHeight;
- double vw = target.Width;
- double vh = target.Height;
- double propw = iw / vw;
- double proph = ih / vh;
- if (propw > proph)
- {
- zoom_key = propw;
- rect_top = (vh - ih / propw) / 2;
- rect_left = 0;
- }
- else
- {
- zoom_key = proph;
- rect_top = 0;
- rect_left = (vw - iw / proph) / 2;
- }
- //检测是否有视场文件
- if (isyuantudingwei)
- {
- String field = System.IO.Path.GetDirectoryName(picList[index]) + "\\AI\\";
- field = field + System.IO.Path.GetFileNameWithoutExtension(listPics[index]) + ".fld";
- if (File.Exists(field))
- {
- StreamReader file = new StreamReader(field);
- using (JsonTextReader reader = new JsonTextReader(file))
- {
- JObject o = (JObject)JToken.ReadFrom(reader);
- JToken c_r = o["Circle_Rect"];
- cir_rect = c_r.ToString();
- if (c_r.ToString() == "Circle")
- {
- JObject circle = JObject.Parse(o["Circle"].ToString());
- double r = Convert.ToDouble(circle["Radius"].ToString());
- double x = Convert.ToDouble(circle["Center_X"].ToString());
- double y = Convert.ToDouble(circle["Center_Y"].ToString());
- this.circle.RadiusX = r / zoom_key;
- this.circle.RadiusY = r / zoom_key;
- this.circle.Center = new Point(x / zoom_key + rect_left, y / zoom_key + rect_top);
- this.field.Visibility = Visibility.Visible;
- fieldr.Visibility = Visibility.Hidden;
- }
- else
- {
- JObject recta = JObject.Parse(o["Rectangle"].ToString());
- double _left = Convert.ToDouble(recta["Left"].ToString());
- double _top = Convert.ToDouble(recta["Top"].ToString());
- double _width = Convert.ToDouble(recta["Width"].ToString());
- double _height = Convert.ToDouble(recta["Height"].ToString());
- rectrr.Rect = new Rect(_left / zoom_key + rect_left, _top / zoom_key + rect_top, _width / zoom_key, _height / zoom_key);
- this.field.Visibility = Visibility.Hidden;
- this.fieldr.Visibility = Visibility.Visible;
- }
- reader.Close();
- file.Close();
- file.Dispose();
- }
- }
- }
- showLeftAndRight();
- }
- catch (Exception e)
- {
- System.Windows.MessageBox.Show(e.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
-
- /// <summary>
- /// 移动鼠标时是否显示翻页图标
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MouseMove_Border(object sender, System.Windows.Input.MouseEventArgs e)
- {
- Point p = e.GetPosition(this);
- double X = p.X;
- double Y = p.Y;
- double one_four = this.ActualWidth / 4;
-
- if (X > one_four && X < this.grid.ActualWidth - one_four)
- {
- HiddenLeftAndRight();
- //this.btn_close.Visibility = Visibility.Hidden;
- //this.img_l_f.Visibility = Visibility.Hidden;
- //this.img_r_f.Visibility = Visibility.Hidden;
- }
- else
- {
- //this.img_l_f.Visibility = Visibility.Visible;
- //this.img_r_f.Visibility = Visibility.Visible;
- showLeftAndRight();
- // this.btn_close.Visibility = Visibility.Visible;
- }
- }
- /// <summary>
- /// 隐藏上一页下一页
- /// </summary>
- public void HiddenLeftAndRight()
- {
- this.img_l_f.Visibility = Visibility.Hidden;
- this.img_r_f.Visibility = Visibility.Hidden;
- }
- /// <summary>
- /// 显示上一页下一页
- /// </summary>
- public void showLeftAndRight()
- {
- if (picList.Count > 0)
- {
- if (picList.Count == 1)
- {
- HiddenLeftAndRight();
- }
- else
- {
- if (cureent == 0)
- {
- this.img_l_f.Visibility = Visibility.Hidden;
- this.img_r_f.Visibility = Visibility.Visible;
- }
- else if (cureent == picList.Count - 1)
- {
- this.img_l_f.Visibility = Visibility.Visible;
- this.img_r_f.Visibility = Visibility.Hidden;
- }
- else
- {
- this.img_l_f.Visibility = Visibility.Visible;
- this.img_r_f.Visibility = Visibility.Visible;
- }
- }
- }
- }
- /// 关闭窗口
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void button_close(object sender, RoutedEventArgs e)
- {
- this.Close();
- }
- /// <summary>
- /// 上一张 鼠标移动时发生移动时发生
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Last_Img_MouseMove(object sender, MouseEventArgs e)
- {
- lasttimgellipse.Fill = new SolidColorBrush(Color.FromRgb(50, 150, 250));
- //Uri uri = new Uri("img/u71.png", UriKind.Relative);
- //BitmapImage img = new BitmapImage(uri);
- //img_l.Source = img;
- }
- /// <summary>
- /// 上一张 鼠标移除后发生
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Last_Img_MouseLeave(object sender, MouseEventArgs e)
- {
- lasttimgellipse.Fill = new SolidColorBrush(Color.FromRgb(16, 133, 250));
- //Uri uri = new Uri("img/u7.png",UriKind.Relative);
- //BitmapImage img = new BitmapImage(uri);
- //img_l.Source = img;
- //lasttimgellipse.ReleaseMouseCapture();
- }
- /// <summary>
- /// 下一张 鼠标移动时发生移动时发生
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Next_Img_MouseMove(object sender, MouseEventArgs e)
- {
- nextimgellipse.Fill = new SolidColorBrush(Color.FromRgb(50, 150, 250));
- //Uri uri = new Uri("img/u91.png", UriKind.Relative);
- //BitmapImage img = new BitmapImage(uri);
- //img_r.Source = img;
- }
- /// <summary>
- /// 上一张 鼠标移除后发生
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Next_Img_MouseLeave(object sender, MouseEventArgs e)
- {
- nextimgellipse.Fill = new SolidColorBrush(Color.FromRgb(16, 133, 250));
- //Uri uri = new Uri("img/u9.png", UriKind.Relative);
- //BitmapImage img = new BitmapImage(uri);
- //img_r.Source = img;
- }
- /// <summary>
- /// 关闭 鼠标移动时发生移动时发生
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void btn_MouseEnter(object sender, MouseEventArgs e)
- {
- btn_close.Foreground =new SolidColorBrush(Colors.Black);
-
- }
- /// <summary>
- /// 关闭 鼠标移除后发生
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void btn_MouseLeave(object sender, MouseEventArgs e)
- {
- btn_close.Foreground = new SolidColorBrush(Colors.White);
- }
-
- /// <summary>
- /// 显示checkbox文本以及选中状态
- /// </summary>
- //private void ShowCheckBoxTextAndCheck()
- //{
- // if (ProcessOrInitial == 0)
- // {
- // // ProcessOrInitial = 1;
- // CheckBoxProcessOrInitial.Content = "显示原图";
- // CheckBoxProcessOrInitial.IsChecked = true;
- // //MessageBox.Show("按下了右键" + CheckBoxProcessOrInitial.IsChecked);
- // }
- // if (ProcessOrInitial == 1)
- // {
- // // ProcessOrInitial = 0;
- // CheckBoxProcessOrInitial.Content = "分析过程";
- // CheckBoxProcessOrInitial.IsChecked = true;
- // //MessageBox.Show("按下了右键" + CheckBoxProcessOrInitial.IsChecked);
- // }
- //}
- /// <summary>
- /// 分析过程的图片列表
- /// </summary>
- private List<string> ListImagesPathParsingProcess(List<string> list)
- {
- List<string> fxlist = new List<string>();
- try
- {
- if (list.Count > 0)
- {
- DirectoryInfo root = new DirectoryInfo(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(list[0]), ProcessFileName));
- if (Directory.Exists(root.ToString()))
- {
- FileInfo[] files = root.GetFiles();
- //if (files.Length > 0)
- //{
- // foreach (FileInfo li in files)
- // {
- // fxlist.Add(li.FullName);
- // //Console.WriteLine("111 " + li.FullName);//路径加图片名
- // }
- //}
- //else
- //{
- // MessageBox.Show("没有任何文件!");
- //}
- for (int i = 0; i < list.Count; i++)
- {
- string path = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(list[i]), ProcessFileName, System.IO.Path.GetFileName(list[i]));
- fxlist.Add(path);
- //Console.WriteLine(path);
- }
- }
- else
- {
- DirectoryInfo directoryInfo = new DirectoryInfo(root.ToString());
- directoryInfo.Create();
- for (int i = 0; i < list.Count; i++)
- {
- string path = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(list[i]), ProcessFileName, System.IO.Path.GetFileName(list[i]));
- fxlist.Add(path);
- //Console.WriteLine(path);
- }
- //MessageBox.Show(root.ToString()+"文件夹不存在!");
- }
- }
-
- }
- catch (Exception e)
- {
- System.Windows.MessageBox.Show(e.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- return fxlist;
- }
- private void can_tar_MouseDown(object sender, MouseButtonEventArgs e)
- {
- ptDown = e.GetPosition((IInputElement)sender);
- if (cir_rect == "Circle")
- {
- double liner = Math.Pow(ptDown.X - circle.Center.X, 2.0) + Math.Pow(ptDown.Y - circle.Center.Y, 2.0);
- if (liner > Math.Pow(circle.RadiusX, 2.0))
- {
- return;
- }
- }
- else
- {
- if (ptDown.X < rectrr.Rect.X || ptDown.X > (rectrr.Rect.X + rectrr.Rect.Width) ||
- ptDown.Y < rectrr.Rect.Y || ptDown.Y > (rectrr.Rect.Y + rectrr.Rect.Height))
- {
- return;
- }
- }
- this.Cursor = System.Windows.Input.Cursors.Hand;
- isDown = true;
- }
- private void can_tar_MouseMove(object sender, MouseEventArgs e)
- {
- if (isDown)
- {
- this.Cursor = System.Windows.Input.Cursors.ScrollAll;
- if (cir_rect == "Circle")
- {
- Point pt = e.GetPosition((IInputElement)sender);
- double x = pt.X - ptDown.X;
- double y = pt.Y - ptDown.Y;
- Point ptm = circle.Center;
- ptm.X = ptm.X + x;
- ptm.Y = ptm.Y + y;
- ptDown = new Point(ptDown.X + x, ptDown.Y + y);
- circle.Center = new Point(circle.Center.X + x, circle.Center.Y + y);
- //判断圆是否出图像
- if ((circle.Center.X - circle.RadiusX) < rect_left)
- {
- circle.Center = new Point(circle.RadiusX + rect_left, circle.Center.Y);
- }
- if ((circle.Center.Y - circle.RadiusY) < rect_top)
- {
- circle.Center = new Point(circle.Center.X, circle.RadiusY + rect_top);
- }
- if ((circle.Center.X + circle.RadiusX) > (target.Width - rect_left))
- {
- circle.Center = new Point(target.Width - rect_left - circle.RadiusX, circle.Center.Y);
- }
- if ((circle.Center.Y + circle.RadiusY) > (target.Height - rect_top))
- {
- circle.Center = new Point(circle.Center.X, target.Height - rect_top - circle.RadiusY);
- }
- }
- else
- {
- Point pt = e.GetPosition((IInputElement)sender);
- double x = pt.X - ptDown.X;
- double y = pt.Y - ptDown.Y;
- Rect rtm = rectrr.Rect;
- rtm.X = rtm.X + x;
- rtm.Y = rtm.Y + y;
- ptDown = new Point(ptDown.X + x, ptDown.Y + y);
- rectrr.Rect = rtm;
- if (rectrr.Rect.X < rect_left)
- {
- rtm.X = rect_left;
- rectrr.Rect = rtm;
- }
- if (rectrr.Rect.Y < rect_top)
- {
- rtm.Y = rect_top;
- rectrr.Rect = rtm;
- }
- if ((rectrr.Rect.X + rectrr.Rect.Width) > (target.Width - rect_left))
- {
- rtm.X = target.Width - rect_left - rectrr.Rect.Width;
- rectrr.Rect = rtm;
- }
- if ((rectrr.Rect.Y + rectrr.Rect.Height) > (target.Height - rect_top))
- {
- rtm.Y = target.Height - rect_top - rectrr.Rect.Height;
- rectrr.Rect = rtm;
- }
- }
- }
- }
- private void can_tar_MouseUp(object sender, MouseButtonEventArgs e)
- {
- if (isDown == true)
- {
- isDown = false;
- feild_change[cureent] = true;
- this.Cursor = System.Windows.Input.Cursors.Arrow;
- }
- }
- private void can_tar_MouseLeave(object sender, MouseEventArgs e)
- {
- if (isDown == true)
- {
- isDown = false;
- feild_change[cureent] = true;
- this.Cursor = System.Windows.Input.Cursors.Arrow;
- }
- }
- }
- }
|