领胜LDS 键盘AOI检测项目
src/Bro.Common.Device/DeviceBase/CameraBase.cs
@@ -152,7 +152,7 @@
            set.IsOriginSaved = !set.ImageSaveOption.IsSaveOriginImage;
            set.IsFitSaved = !set.ImageSaveOption.IsSaveFitImage;
            set.IsAddtionalSaved = !string.IsNullOrWhiteSpace(set.ImageSaveOption.AddtionalSaveType);
            set.IsAddtionalSaved = string.IsNullOrWhiteSpace(set.ImageSaveOption.AddtionalSaveType);
            set.OnImageSetTimeout += ImageSet_OnImageSetTimeout;
            _imageSetList.Add(set);
@@ -181,7 +181,7 @@
        {
            set.IsOriginSaved = !set.ImageSaveOption.IsSaveOriginImage;
            set.IsFitSaved = !set.ImageSaveOption.IsSaveFitImage;
            set.IsAddtionalSaved = !string.IsNullOrWhiteSpace(set.ImageSaveOption.AddtionalSaveType);
            set.IsAddtionalSaved = string.IsNullOrWhiteSpace(set.ImageSaveOption.AddtionalSaveType);
            set.OnImageSetTimeout += ImageSet_OnImageSetTimeout;
            _imageSetList.Add(set);
        }
@@ -196,7 +196,7 @@
        public virtual async void SaveOriginImage(Bitmap map, Bitmap showImage, string imgSetId)
        {
            Task.Run(() =>
            await Task.Run(() =>
            {
                OnImageUpdated?.Invoke(this, showImage, imgSetId);
            });
@@ -539,7 +539,7 @@
            });
        }
        protected async void Generate16GrayImageByPointer(int width, int height, IntPtr dataPtr, string imgSetId)
        protected async Task Generate16GrayImageByPointer(int width, int height, IntPtr dataPtr, string imgSetId)
        {
            await Task.Run(() =>
            {
@@ -848,6 +848,11 @@
        bool IsAddtionalSaved { get; set; }
        event Action<ImageSet> OnImageSetTimeout;
        /// <summary>
        /// 序列化操作的图像信息
        /// </summary>
        string ImageData { get; set; }
    }
    public class ImageSet : IImageSet
@@ -887,6 +892,8 @@
        public object SaveLock { get; set; } = new object();
        public virtual string ImageData { get; set; }
        public event Action<ImageSet> OnImageSetTimeout;
        private Timer autoDisposeTimer = null;
@@ -897,7 +904,7 @@
        public ImageSet()
        {
            autoDisposeTimer = new Timer(OnAutoDispose, null, -1, 10 * 1000);
            autoDisposeTimer = new Timer(OnAutoDispose, null, 10 * 1000, -1);
        }
        public virtual void Dispose()
@@ -905,11 +912,11 @@
            autoDisposeTimer.Change(-1, -1);
            autoDisposeTimer.Dispose();
            Image?.Dispose();
            Image = null;
            //Image?.Dispose();
            //Image = null;
            HImage?.Dispose();
            HImage = null;
            //HImage?.Dispose();
            //HImage = null;
        }
        #endregion
    }