Vars.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using OpenCvSharp;
  2. using System.Collections.Generic;
  3. namespace DaJiaoYan.Variables
  4. {
  5. internal class Vars
  6. {
  7. public delegate void DeleCounterChange(int i);
  8. public static DeleCounterChange DelegateCounterChange;
  9. private static readonly object CounterLocker = new object();
  10. /// <summary>
  11. /// 任务
  12. /// </summary>
  13. private static readonly Dictionary<string, bool> Tasks = new Dictionary<string, bool>();
  14. private static readonly object TasksLocker = new object();
  15. private static int _UploadedCounter = 0;
  16. /// <summary>
  17. /// 请求头
  18. /// </summary>
  19. public static Dictionary<string, object> RequestHeaders = new Dictionary<string, object>
  20. {
  21. {"AppName", Const.APP_NAME },
  22. {"AppVersion", Const.APP_VERSION },
  23. {"Platform", Const.PLATFORM },
  24. {"Authorization", "" },
  25. };
  26. /// <summary>
  27. /// 扫描仪列表
  28. /// </summary>
  29. public static string[] Scanners = null;
  30. /// <summary>
  31. /// 当前选择的扫描仪
  32. /// </summary>
  33. public static string ScannerSelected = null;
  34. /// <summary>
  35. /// 可处理图片类型
  36. /// </summary>
  37. public static readonly List<string> AvalibleImageSuffixes = new List<string> { ".png", ".jpg", ".jpeg" };
  38. /// <summary>
  39. /// opencv jpeg 保存配置
  40. /// </summary>
  41. public readonly static ImageEncodingParam IMAGE_SAVE_JPEG_PARAM = new ImageEncodingParam(ImwriteFlags.JpegQuality, 70);
  42. /// <summary>
  43. /// opencv png 保存配置
  44. /// </summary>
  45. public readonly static ImageEncodingParam IMAGE_SAVE_PNG_PARAM = new ImageEncodingParam(ImwriteFlags.PngCompression, 5);
  46. public static void SetTaskStatus(string taskId, bool status)
  47. {
  48. lock (TasksLocker)
  49. {
  50. Tasks[taskId] = status;
  51. }
  52. }
  53. public static void UploadedCounterIncrease(int i = 1)
  54. {
  55. int n = 0;
  56. lock (CounterLocker)
  57. {
  58. n = _UploadedCounter += i;
  59. }
  60. DelegateCounterChange?.Invoke(n);
  61. }
  62. public static bool AllTaskFinished()
  63. {
  64. bool res = true;
  65. foreach (var item in Tasks.Values)
  66. {
  67. if (!item)
  68. {
  69. res = false;
  70. break;
  71. }
  72. }
  73. return res;
  74. }
  75. }
  76. }