public static Image getImage(ParseTreeNode raiz) { String grafica = GenerarGrafica.GenerarEstructura(raiz); WINGRAPHVIZLib.DOT dot = new WINGRAPHVIZLib.DOT(); WINGRAPHVIZLib.BinaryImage img = dot.ToPNG(grafica); byte[] imageBytes = Convert.FromBase64String(img.ToBase64String()); MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length); Image imagen = Image.FromStream(ms, true); return(imagen); }
private void BtnAnalizar_Click(object sender, EventArgs e) { if (tabControl.SelectedTab != null) { if (!getTextBox(null).Text.Equals("")) { limpiarCampos(); generador = new GeneradorArchivo(); analizar = new Analizador(); salidaTokens = new List <Token>(); salidaTokens = analizar.analizar(getTextBox(null).Text, getTextBox(null)); if (!Analizador.lexicError) { html_tokensFile = "tokens.html"; generateImg = "graphic" + contador + ".png"; analizar.imprimirTokens(); generador.generateHTMLTokensFile(salidaTokens, html_tokensFile); Process.Start(html_tokensFile); gGraphic = new GenerarGrafica(); grafico = new Grafico(); grafico = gGraphic.generar(salidaTokens); generador.generateDOTArchive(grafico, "Grafico.dot"); btnGenerarPDF.Enabled = true; generador.generateProcess(generateImg, "png"); paisEncontrado = new Pais(); paisEncontrado = encontrar(grafico); generarDescripcion(generateImg, paisEncontrado); contador += 1; } else { getTextBox(null).SelectionStart = 0; getTextBox(null).SelectionLength = getTextBox(null).Text.Length; getTextBox(null).SelectionColor = Color.Black; detailsContainer.Panel1.Controls.Clear(); limpiarCampos(); html_tokensFile = "erroes.html"; generador.generateErrorsHTMLFile(Analizador.listaErrores, html_tokensFile); MessageBox.Show("Ocurrió un error al leer el código", "", MessageBoxButtons.OK, MessageBoxIcon.Error); Analizador.lexicError = false; Process.Start(html_tokensFile); } } } }