/// <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(); }
/// <summary> /// 清空所有历史图片 /// </summary> private void ClearListPicHistory() { if (ListPicHistory.Items.Count > 0) { mImgHistory.Clear(); ImgListHistory.Images.Clear(); ListPicHistory.Clear(); //恢复原图 RestoreOriginImage(); } //不可清除原图 AddToImageList(ConstantFlags.ORIGIN_IMAGE_NAME, mOriginImage); }
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(); } }