static void Main() { HSVSerializer.init(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); }
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); }
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; }
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); } } }
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); } }
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; }