SelectOCRPicDialogViewModel.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. using Aitex.Core.Util;
  2. using Aitex.Sorter.UI.ViewModel;
  3. using MECF.Framework.Common.OperationCenter;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.IO;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows;
  11. using System.Windows.Media.Imaging;
  12. namespace Aitex.Sorter.UI.ViewModel
  13. {
  14. public class SelectOCRPicDialogViewModel : UIViewModelBase
  15. {
  16. public SelectOCRPicDialogViewModel() : base("SelectOCRPicViewModel")
  17. {
  18. }
  19. public string WIDReaderName { get; set; } = "WIDReader1";
  20. //Release pic
  21. public BitmapImage BitmapImage
  22. {
  23. get
  24. {
  25. return GetImage(CurrentImageFileName);
  26. }
  27. }
  28. public BitmapImage GetImage(string imagePath)
  29. {
  30. if (File.Exists(imagePath))
  31. {
  32. BitmapImage bitmap = new BitmapImage();
  33. bitmap.BeginInit();
  34. bitmap.CacheOption = BitmapCacheOption.OnLoad;
  35. using (Stream ms = new MemoryStream(File.ReadAllBytes(imagePath)))
  36. {
  37. bitmap.StreamSource = ms;
  38. bitmap.EndInit();
  39. bitmap.Freeze();
  40. }
  41. return bitmap;
  42. }
  43. return null;
  44. }
  45. public string CurrentImageFileName
  46. {
  47. get
  48. {
  49. if (WIDReaderName == "WIDReader1")
  50. {
  51. return CurrentImage1FileName;
  52. }
  53. else if (WIDReaderName == "WIDReader2")
  54. {
  55. return CurrentImage2FileName;
  56. }
  57. return CurrentImage1FileName;
  58. }
  59. }
  60. private string _readerCurrentLaserMark;
  61. public string ReaderCurrentLaserMark
  62. {
  63. get
  64. {
  65. if (WIDReaderName == "WIDReader1")
  66. {
  67. return Reader1CurrentLaserMark;
  68. }
  69. else if (WIDReaderName == "WIDReader2")
  70. {
  71. return Reader2CurrentLaserMark;
  72. }
  73. return Reader1CurrentLaserMark;
  74. }
  75. set
  76. {
  77. if (WIDReaderName == "WIDReader1")
  78. {
  79. _readerCurrentLaserMark= Reader1CurrentLaserMark;
  80. }
  81. else if (WIDReaderName == "WIDReader2")
  82. {
  83. _readerCurrentLaserMark= Reader2CurrentLaserMark;
  84. }
  85. InvokePropertyChanged("ReaderCurrentLaserMark");
  86. }
  87. }
  88. [Subscription("WIDReader1.CurrentWaferID")]
  89. public string CurrentWafer1ID { get; set; }
  90. [Subscription("WIDReader1.CurrentImageFileName")]
  91. public string CurrentImage1FileName { get; set; }
  92. private string reader1CurrentLaserMark;
  93. [Subscription("WIDReader1.CurrentLaserMark")]
  94. public string Reader1CurrentLaserMark
  95. {
  96. get
  97. { return reader1CurrentLaserMark; }
  98. set
  99. {
  100. reader1CurrentLaserMark = value;
  101. }
  102. }
  103. [Subscription("WIDReader2.CurrentWaferID")]
  104. public string CurrentWafer2ID { get; set; }
  105. [Subscription("WIDReader2.CurrentImageFileName")]
  106. public string CurrentImage2FileName { get; set; }
  107. private string reader2CurrentLaserMark;
  108. [Subscription("WIDReader2.CurrentLaserMark")]
  109. public string Reader2CurrentLaserMark
  110. {
  111. get
  112. { return reader2CurrentLaserMark; }
  113. set
  114. {
  115. reader2CurrentLaserMark = value;
  116. }
  117. }
  118. }
  119. }