Example #1
0
        static void Main()
        {
            HSVSerializer.init();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
        }
Example #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            HSVSerializer.deleteHSV(currentCell.ColumnIndex + 1, 16 - currentCell.RowIndex, Value, Gain, IsBlack);

            table.Rows[currentCell.RowIndex].Cells[currentCell.ColumnIndex].Style.BackColor = Color.White;

            table_SelectionChanged(null, null);
        }
Example #3
0
        private void table_SelectionChanged(object sender, EventArgs e)
        {
            if (table.CurrentCell == null)
            {
                return;
            }

            currentCell = table.CurrentCell;
            //Color c = currentCell.Style.BackColor;
            //c = Color.FromArgb(255 - c.R, 255 - c.G, 255 - c.B);
            //table.ForeColor = c;
            table.ClearSelection();

            foreach (DataGridViewRow row in table.Rows)
            {
                foreach (DataGridViewCell cell in row.Cells)
                {
                    cell.Value = "";
                }
            }

            table.Rows[currentCell.RowIndex].Cells[currentCell.ColumnIndex].Value = "🞱";

            int X = currentCell.ColumnIndex + 1;
            int Y = 16 - currentCell.RowIndex;

            HSV hsv = HSVSerializer.getHSVTableFromValueGainBlack(Value, Gain, IsBlack).Where(v => v.X == X && v.Y == Y).FirstOrDefault();

            if (hsv == null)
            {
                labelCurH.Text         = "empty";
                labelCurS.Text         = "empty";
                labelCurV.Text         = "empty";
                labelCurR.Text         = "empty";
                labelCurG.Text         = "empty";
                labelCurB.Text         = "empty";
                labelCurCol.Text       = X.ToString();
                labelCurRow.Text       = Y.ToString();
                panelCurCell.BackColor = Color.White;

                return;
            }
            labelCurH.Text   = hsv.H.ToString("N3");
            labelCurS.Text   = hsv.S.ToString("N3");
            labelCurV.Text   = hsv.V.ToString("N2");
            labelCurR.Text   = hsv.R.ToString();
            labelCurG.Text   = hsv.G.ToString();
            labelCurB.Text   = hsv.B.ToString();
            labelCurCol.Text = hsv.X.ToString();
            labelCurRow.Text = hsv.Y.ToString();

            panelCurCell.BackColor = currentCell.Style.BackColor;
        }
Example #4
0
        private void colorCells()
        {
            List <HSV> list = HSVSerializer.getHSVTableFromValueGainBlack(Value, Gain, IsBlack);

            foreach (HSV hsv in list)
            {
                if (ForcedH || ForcedS || ForcedV)
                {
                    double h = ForcedH ? (double)numericUpDownH.Value : hsv.H;
                    double s = ForcedS ? (double)numericUpDownS.Value : hsv.S;
                    double v = ForcedV ? (double)numericUpDownV.Value : hsv.V;

                    table.Rows[16 - hsv.Y].Cells[hsv.X - 1].Style.BackColor = HSV.ColorFromHSV(h, s, v);
                }
                else
                {
                    table.Rows[16 - hsv.Y].Cells[hsv.X - 1].Style.BackColor = Color.FromArgb(hsv.R, hsv.G, hsv.B);
                }
            }
        }
Example #5
0
        private void createExcelTable()
        {
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

            using (ExcelPackage excel = new ExcelPackage())
            {
                excel.Workbook.Worksheets.Add("Worksheet1");

                string[,] matrix = new string[16, 16];

                for (int y = 0; y < 16; y++)
                {
                    for (int x = 0; x < 16; x++)
                    {
                        var hsv = HSVSerializer.getHSVTableFromValueGainBlack(Value, Gain, IsBlack).Find(v => v.X - 1 == x && v.Y - 1 == y);

                        if (hsv != null)
                        {
                            matrix[15 - y, x] = hsv.getStringForExcel();
                        }
                        else
                        {
                            matrix[15 - y, x] = "X";
                        }
                    }
                }


                string[] row1  = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[0, x]).ToArray();
                string[] row2  = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[1, x]).ToArray();
                string[] row3  = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[2, x]).ToArray();
                string[] row4  = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[3, x]).ToArray();
                string[] row5  = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[4, x]).ToArray();
                string[] row6  = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[5, x]).ToArray();
                string[] row7  = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[6, x]).ToArray();
                string[] row8  = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[7, x]).ToArray();
                string[] row9  = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[8, x]).ToArray();
                string[] row10 = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[9, x]).ToArray();
                string[] row11 = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[10, x]).ToArray();
                string[] row12 = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[11, x]).ToArray();
                string[] row13 = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[12, x]).ToArray();
                string[] row14 = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[13, x]).ToArray();
                string[] row15 = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[14, x]).ToArray();
                string[] row16 = Enumerable.Range(0, matrix.GetLength(1)).Select(x => matrix[15, x]).ToArray();

                var headerRow = new List <string[]>()
                {
                    row1, row2, row3, row4, row5, row6, row7, row8, row9, row10, row11, row12, row13, row14, row15, row16
                };

                string range = "A1:P1";

                var worksheet = excel.Workbook.Worksheets["Worksheet1"];

                worksheet.Cells.Style.WrapText = true;

                worksheet.Cells[range].LoadFromArrays(headerRow);


                FileInfo excelFile = new FileInfo(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\Readings " + Gain + "xG " + Value + "V" + (IsBlack ? "black" : "white") + ".xlsx");
                excel.SaveAs(excelFile);
            }
        }
Example #6
0
        private void performReadAndSave()
        {
            try
            {
                OcrResult res     = Ocr.Read(getScreenImage());
                string    ocrText = res.Text;

                int x = currentCell.ColumnIndex + 1;
                int y = 16 - currentCell.RowIndex;

                labelCol.Text = "X: " + x;
                labelRow.Text = "Y: " + y;

                HSV hsv = new HSV(ocrText, x, y, Gain, Value);

                label26.ForeColor = Color.LimeGreen;
                label26.Text      = "OK";

                label1.Text  = hsv.H.ToString("N3");
                label2.Text  = hsv.S.ToString("N3");
                label3.Text  = hsv.V.ToString("N2");
                label25.Text = hsv.R.ToString();
                label24.Text = hsv.G.ToString();
                label23.Text = hsv.B.ToString();

                HSVSerializer.registerHSV(hsv);

                panel3.BackColor = Color.FromArgb(hsv.R, hsv.G, hsv.B);


                if (ForcedH || ForcedS || ForcedV)
                {
                    double h = ForcedH ? (double)numericUpDownH.Value : hsv.H;
                    double s = ForcedS ? (double)numericUpDownS.Value : hsv.S;
                    double v = ForcedV ? (double)numericUpDownV.Value : hsv.V;

                    table.Rows[16 - hsv.Y].Cells[hsv.X - 1].Style.BackColor = HSV.ColorFromHSV(h, s, v);
                }
                else
                {
                    table.Rows[16 - hsv.Y].Cells[hsv.X - 1].Style.BackColor = Color.FromArgb(hsv.R, hsv.G, hsv.B);
                }


                table_SelectionChanged(null, null);
            }
            catch (Exception)
            {
                label26.ForeColor = Color.Red;
                label26.Text      = "Failed";

                label1.Text                      =
                    label2.Text                  =
                        label3.Text              =
                            label25.Text         =
                                label24.Text     =
                                    label23.Text = "???";

                panel3.BackColor = Color.Transparent;

                return;
            }


            //string R = ocrText.Substring(30, 6).Replace('.', ',');
            //string G = ocrText.Substring(40, 6).Replace('.', ',');
            //string B = ocrText.Substring(50, 6).Replace('.', ',');

            //double r = Math.Round(double.Parse(R), 3);
            //double g = Math.Round(double.Parse(G), 3);
            //double b = Math.Round(double.Parse(B), 3);

            //label25.Text = "R: " + R;
            //label24.Text = "G: " + G;
            //label23.Text = "B: " + B;
        }