Ejemplo n.º 1
0
 public void SetData(AnalyzeResultInfo info,
                     Func <int, int, bool> funcTryEditTypeIndex,
                     Action onCompleteEditTypeIndex)
 {
     this.info = info;
     this.funcTryEditTypeIndex    = funcTryEditTypeIndex;
     this.onCompleteEditTypeIndex = onCompleteEditTypeIndex;
 }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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);
        }