Ejemplo n.º 1
0
        /// <summary>
        /// 添加历史图像
        /// </summary>
        private void AddToImageList(string key, Mat img)
        {
            if (mImgHistory.Count >= ConstantFlags.MAX_PIC_HISTORY_COUNT)
            {
                return;
            }

            //1.添加到key-value中
            if (mImgHistory.ContainsKey(key))
            {
                mImgHistory[key] = img;
            }
            else
            {
                mImgHistory.Add(key, img);
            }

            //2.添加到imglist
            ImgListHistory.Images.Clear();
            ListPicHistory.Clear();
            foreach (var item in mImgHistory)
            {
                ImgListHistory.Images.Add(item.Key, item.Value.Bitmap);
            }

            //3.绑定到listview
            for (int i = 0; i < ImgListHistory.Images.Count; i++)
            {
                ListPicHistory.Items.Add(Path.GetFileName(ImgListHistory.Images.Keys[i]), i);
                ListPicHistory.Items[i].ImageIndex = i;
                ListPicHistory.Items[i].Name       = ImgListHistory.Images.Keys[i];
            }

            CheckEnableVisible_Status();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 清空所有历史图片
        /// </summary>
        private void ClearListPicHistory()
        {
            if (ListPicHistory.Items.Count > 0)
            {
                mImgHistory.Clear();
                ImgListHistory.Images.Clear();
                ListPicHistory.Clear();
                //恢复原图
                RestoreOriginImage();
            }

            //不可清除原图
            AddToImageList(ConstantFlags.ORIGIN_IMAGE_NAME, mOriginImage);
        }
Ejemplo n.º 3
0
        private void MFrmMainImage_PassValuesEvent(object sender, MainImageArgs e)
        {
            //关闭主窗口,清除包括原图的所有资源
            if (e.CloseConfirmed)
            {
                //1.清空历史记录
                mImgHistory.Clear();
                ImgListHistory.Images.Clear();
                ListPicHistory.Clear();

                //2.释放相关资源
                mOriginImage.Dispose();
                mOriginImageName = string.Empty;
                CloseMdiWindowByTerms("FrmNormalImage", "FrmProperties");

                //3.更新状态
                ConstantFlags.IS_ORIGIN_IMAGE_OPENED = false;
                CheckEnableVisible_Status();
            }
        }