En uno de mis proyectos utilizo JUNG2 para visualizar un gráfico de jerarquía de múltiples padres muy grande, que se muestra en un applet. Tendría que exportar la totalidad/partes del gráfico a imágenes fijas de alta resolución, ya que las capturas de pantalla se ven horribles cuando se imprimen (especialmente si el gráfico se ha reducido).Exportación de gráficos JUNG a imágenes de alta resolución (preferiblemente basadas en vectores)
El código que uso actualmente es el siguiente:
public void writeToDisk(File saveToFolder, String filename) {
//Dimension loDims = getGraphLayout().getSize();
Dimension vsDims = getSize();
int width = vsDims.width;
int height = vsDims.height;
Color bg = getBackground();
BufferedImage im = new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);
Graphics2D graphics = im.createGraphics();
graphics.setColor(bg);
graphics.fillRect(0,0, width, height);
paintComponent(graphics);
try{
ImageIO.write(im,"png",new File(saveToFolder,filename));
}catch(Exception e){
e.printStackTrace();
}
}
Esto crea imágenes PNG que no son particularmente alta resolución. Entonces mis preguntas son las siguientes:
- ¿Es posible subir la resolución de exportación PNG a 300 ppp?
- ¿Es posible exportar el gráfico, o cualquier componente oscilante para el caso, a formatos basados en vectores como EPS, PDF o SVG sin demasiada molestia? He encontrado varias bibliotecas (VectorGraphics2D, FreeHEP) para administrar imágenes basadas en vectores en Java, sin embargo, no estoy seguro si usarlas significaría que tengo que "volver a dibujar" cada vértice y borde en el gráfico. Eso obviamente no es muy deseable ...
- ¿Hay alguna otra alternativa que podría haber pasado por alto?
Gracias de antemano,
Tal vez, usted puede convertir su trama resultante/el archivo de imagen de mapa de bits en un archivo de imagen vectorial después usando una biblioteca de terceros como Autotrace [http://autotrace.sourceforge.net/](http://autotrace.sourceforge.net/) – ecle
¿Pudo resolver este problema? Debido a que ninguna de las siguientes respuestas realmente funciona @posdef – SacJn
@SacJn, la respuesta que he publicado debajo ** no funcionó ** en ese momento, no puedo decir si las bibliotecas han cambiado de una manera que rompe esa solución. Ya no estoy trabajando en ese proyecto #orphanproject #programminginacademia :) – posdef