OxfordScanController.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. 
  2. //using OINA.Extender.Data.Image;
  3. using OTSCLRINTERFACE;
  4. using OxfordExtenderWrapper;
  5. using OTSModelSharp.ServiceCenter;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Drawing;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Runtime.Remoting.Channels.Ipc;
  13. using System.Runtime.Remoting.Channels;
  14. using OTSMeasureApp.ServiceCenter.OxfordExtender;
  15. using static OxfordExtenderWrapper.ExtenderIpcUI;
  16. namespace OTSMeasureApp.ServiceCenter
  17. {
  18. class OxfordScanController : IScanController
  19. {
  20. int imageWidth = 0;
  21. int imageHeight = 0;
  22. double dwelltime = 0;
  23. ExtenderIpcUI iExtender;
  24. ImageInputSourceType imagesourceType;
  25. public OxfordScanController(ImageInputSourceType sourceType)
  26. {
  27. iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
  28. imagesourceType = sourceType;
  29. }
  30. public CBSEImgClr AcquireBSEImage()
  31. {
  32. try
  33. {
  34. Rectangle r = new Rectangle();
  35. CBSEImgClr bse = new CBSEImgClr(r);
  36. bse.InitImageData(imageWidth, imageHeight);
  37. ImageAquistionParam p = new ImageAquistionParam();
  38. p.width = imageWidth;
  39. p.height = imageHeight;
  40. p.DwellTime = dwelltime;
  41. p.sourceType = imagesourceType;
  42. NLog.LogManager.GetCurrentClassLogger().Info("Begin to acquire BSE image!");
  43. iExtender.AquisitionImage(ref p);
  44. NLog.LogManager.GetCurrentClassLogger().Info("End acquiring BSE image!");
  45. bse.SetImageData(p.ImageData, imageWidth, imageHeight);
  46. return bse;
  47. }
  48. catch (Exception e)
  49. {
  50. NLog.LogManager.GetCurrentClassLogger().Warn(e.Message);
  51. }
  52. return null;
  53. }
  54. public bool Init()
  55. {
  56. iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
  57. return true;
  58. }
  59. public bool SetDwellTime(double val)
  60. {
  61. dwelltime = val;
  62. return true;
  63. }
  64. public bool SetImageSize(int nWidth, int nHeight)
  65. {
  66. imageWidth = nWidth;
  67. imageHeight = nHeight;
  68. return true;
  69. }
  70. }
  71. }