//-------------------------------------------------------------------------------------- public FBordersByColorForImage(Image pImage) { InitializeComponent(); fSourceBitmap = pImage as Bitmap; if (fSourceBitmap != null) { pbSourceImage.Image = fSourceBitmap; } fBlackWhiteExplorer = new CBlackWhiteExplorer(); Color[] lFinalColors = CBlackWhiteExplorer.DefineExactNeedColor(8); fColorsOfVariant = new Color[8]; fTextOfColors = new string[8]; for (int i = 0; i < 6; i++) { fColorsOfVariant[i + 1] = lFinalColors[i]; } fColorsOfVariant[0] = Color.FromArgb(255, 0, 0, 0); fColorsOfVariant[7] = Color.FromArgb(255, 255, 255, 255); for (int i = 0; i < fTextOfColors.Length; i++) { fTextOfColors[i] = fColorsOfVariant[i].R.ToString() + ":" + fColorsOfVariant[i].G.ToString() + ":" + fColorsOfVariant[i].B.ToString(); } l000.Text += " (" + fTextOfColors[0] + ")"; l001.Text += " (" + fTextOfColors[1] + ")"; l010.Text += " (" + fTextOfColors[2] + ")"; l011.Text += " (" + fTextOfColors[3] + ")"; l100.Text += " (" + fTextOfColors[4] + ")"; l101.Text += " (" + fTextOfColors[5] + ")"; l110.Text += " (" + fTextOfColors[6] + ")"; l111.Text += " (" + fTextOfColors[7] + ")"; l000.BackColor = fColorsOfVariant[0]; l001.BackColor = fColorsOfVariant[1]; l010.BackColor = fColorsOfVariant[2]; l011.BackColor = fColorsOfVariant[3]; l100.BackColor = fColorsOfVariant[4]; l101.BackColor = fColorsOfVariant[5]; l110.BackColor = fColorsOfVariant[6]; l111.BackColor = fColorsOfVariant[7]; l000.ForeColor = CImageSplitter.DefineBestBackColor(fColorsOfVariant[0]); l001.ForeColor = CImageSplitter.DefineBestBackColor(fColorsOfVariant[1]); l010.ForeColor = CImageSplitter.DefineBestBackColor(fColorsOfVariant[2]); l011.ForeColor = CImageSplitter.DefineBestBackColor(fColorsOfVariant[3]); l100.ForeColor = CImageSplitter.DefineBestBackColor(fColorsOfVariant[4]); l101.ForeColor = CImageSplitter.DefineBestBackColor(fColorsOfVariant[5]); l110.ForeColor = CImageSplitter.DefineBestBackColor(fColorsOfVariant[6]); l111.ForeColor = CImageSplitter.DefineBestBackColor(fColorsOfVariant[7]); fBordersByColorForImage = new CBordersByColorForImage(fSourceBitmap); }
//-------------------------------------------------------------------------------------- private void ApplySelectBorders(bool pIsUpdateListBad) { CBordersByColorForImage lBordersByColorForImage = new CBordersByColorForImage(pbSourceImage.Image as Bitmap); lBordersByColorForImage.Explore3DBorderGroup(pbSourceImage.Image as Bitmap, tbRed.Value, tbGreen.Value, tbBlue.Value); txtTopCount.Text = lBordersByColorForImage.TopListCount.ToString(); txtBottomCount.Text = lBordersByColorForImage.BottomListCount.ToString(); txtTopRedSumma.Text = lBordersByColorForImage.TopRedSumma.ToString(); txtTopGreenSumma.Text = lBordersByColorForImage.TopGreenSumma.ToString(); txtTopBlueSumma.Text = lBordersByColorForImage.TopBlueSumma.ToString(); txtBottomRedSumma.Text = lBordersByColorForImage.BottomRedSumma.ToString(); txtBottomGreenSumma.Text = lBordersByColorForImage.BottomGreenSumma.ToString(); txtBottomBlueSumma.Text = lBordersByColorForImage.BottomBlueSumma.ToString(); txtTopRedCentre.Text = lBordersByColorForImage.TopRedCentre.ToString(); txtTopGreenCentre.Text = lBordersByColorForImage.TopGreenCentre.ToString(); txtTopBlueCentre.Text = lBordersByColorForImage.TopBlueCentre.ToString(); txtBottomRedCentre.Text = lBordersByColorForImage.BottomRedCentre.ToString(); txtBottomGreenCentre.Text = lBordersByColorForImage.BottomGreenCentre.ToString(); txtBottomBlueCentre.Text = lBordersByColorForImage.BottomBlueCentre.ToString(); txtTopDevisionSumma.Text = lBordersByColorForImage.TopDevisionSumma.ToString(); txtBottomDevisionSumma.Text = lBordersByColorForImage.BottomDevisionSumma.ToString(); txtTopDevision.Text = lBordersByColorForImage.TopDevision.ToString(); txtBottomDevision.Text = lBordersByColorForImage.BottomDevision.ToString(); txtBadPoints.Text = lBordersByColorForImage.BadPoint.ToString(); txtVeryBadPoints.Text = lBordersByColorForImage.VeryBadPoint.ToString(); fImageListDataSet.BadPointFor3D.Clear(); if (pIsUpdateListBad) { for (int i = 0; i < lBordersByColorForImage.BadPointList.Count; i++) { fImageListDataSet.BadPointFor3D.AddBadPointFor3DRow( lBordersByColorForImage.BadPointList[i].Point.R.ToString() + "," + lBordersByColorForImage.BadPointList[i].Point.G.ToString() + "," + lBordersByColorForImage.BadPointList[i].Point.B.ToString(), lBordersByColorForImage.BadPointList[i].Level, lBordersByColorForImage.BadPointList[i].Weight); } dgBadPoint.Update(); } }