public void SetData(AnalyzeResultInfo info, Func <int, int, bool> funcTryEditTypeIndex, Action onCompleteEditTypeIndex) { this.info = info; this.funcTryEditTypeIndex = funcTryEditTypeIndex; this.onCompleteEditTypeIndex = onCompleteEditTypeIndex; }
private void listTypeDataList_Click(object sender, EventArgs e) { if (listTypeDataList.SelectedItems.Count == 0) { return; } var selectedItem = listTypeDataList.SelectedItems[0]; int key = 0; if (int.TryParse(selectedItem.Text, out key) == false) { return; } var pAnalyzeResultInfo = new AnalyzeResultInfo(); for (int i = 0; i < listAnalyzeResultInfo.Count; ++i) { if (listAnalyzeResultInfo[i].index == key) { pAnalyzeResultInfo = listAnalyzeResultInfo[i]; break; } } if (pAnalyzeResultInfo.ResultType == null) { return; } var dlg = new FormSubViewEdit(); dlg.SetData(pAnalyzeResultInfo, funcTryEditTypeIndex, _on_complete_edit_type_index_); dlg.Show(); }
private EnumFailedReason ExecCropAnalize(ExecType eExecType, int index, string Name, string path) { if (File.Exists(path) == false) { return(EnumFailedReason.FileNotExist); } var rectCrop = new Rect(rRectCrop.XMin, rRectCrop.YMin, rRectCrop.XMax, rRectCrop.YMax); if (rectCrop.XMin == rectCrop.XMax || rRectCrop.YMin == rRectCrop.YMax) { return(EnumFailedReason.RectCropInvalid); } var bitmapOrigin = Util.LoadBitmap(path); if (null == bitmapOrigin) { return(EnumFailedReason.BitmapLoadFailed); } var cropRectangle = new Rectangle(rectCrop.XMin, rectCrop.YMin, rectCrop.Width, rectCrop.Height); var bitmapClone = bitmapOrigin.Clone(cropRectangle, bitmapOrigin.PixelFormat); if (null == bitmapClone) { bitmapOrigin.Dispose(); return(EnumFailedReason.BitmapCloneFailed); } ResultTypeInfo pResultTypeInfo = null; bool isEqual = false; for (int i = 0; i < listResultTypeInfo.Count; ++i) { isEqual = false; switch (eExecType) { case ExecType.NORMAL: isEqual = Util.CompareBitmaps(listResultTypeInfo[i].bitmap, bitmapClone, ColorDiffMax); break; case ExecType.SSIM: isEqual = Util.CompareBitmapsSSIM(listResultTypeInfo[i].bitmap, bitmapClone, SSIMPercent * 0.01f); break; default: break; } if (isEqual) { pResultTypeInfo = listResultTypeInfo[i]; break; } } if (null == pResultTypeInfo) { pResultTypeInfo = new ResultTypeInfo(); pResultTypeInfo.index = listResultTypeInfo.Count; pResultTypeInfo.typeName = string.Format("type{0}", pResultTypeInfo.index); pResultTypeInfo.bitmap = bitmapClone; listResultTypeInfo.Add(pResultTypeInfo); } var kAnalyzeResult = new AnalyzeResultInfo(); kAnalyzeResult.index = index; kAnalyzeResult.Name = Name; kAnalyzeResult.Path = path; kAnalyzeResult.ResultType = pResultTypeInfo; listAnalyzeResultInfo.Add(kAnalyzeResult); bitmapOrigin.Dispose(); return(EnumFailedReason.None); }