2009-10-11 7 views
6

Tengo un montón de diagramas creados utilizando una herramienta de diagramación Java que escribí: en su mayoría son diagramas en blanco y negro, con los bloques en color agua y otros colores ocasionales. Actualmente se guardan como archivos JPG, y quiero insertarlos en un libro que estoy preparando para Print On Demand.Configuración de DPI para archivos PNG

El libro es un archivo ODT de OpenOffice, que luego se convertirá a PDF.

Actualmente uso archivos JPG, pero las instalaciones de impresión que utilizan requieren 300 DPI, así que modifiqué mi herramienta de diagramación para establecer xDensity y yDensity en 300, y resUnits en 1, usando getAsTree(), y luego expandí el diagrama por un factor de 3 (300/96). IMO el resultado se ve muy bien!

Desafortunadamente, alguien en otro foro señaló que los diagramas de líneas son "borrados" en archivos JPG, por lo que sugirió que cambie a PNG, o posiblemente a archivos BMP, que permiten insertar archivos ODT.

Mi problema es que las BMP no parecen tener un DPI, y PNGMetadata no parece ser compatible con getAsTree(). ¿Alguien me puede apuntar en la dirección correcta? Gracias.

Respuesta

0

decidí no intenta hacer esto programáticamente. En su lugar, creo el diagrama original en PNG, luego convierto a 300 DPI usando Irfanview. La capacidad de lotes de Irfanview me permite convertir a 300 ppp, escalar para compensar y configurar en escala de grises, todo en una operación, y en múltiples archivos a la vez. Esta parece ser la mejor solución, ¡pero gracias a todos de todos modos!

3

PNG, BMP y docenas de otros formatos de imagen no comprimen sus diagramas - la compresión es probablemente lo que estaba recibiendo su comentarista. Los archivos JPEG son ideales para fotos, pero apetecen los diagramas.

Es posible que desee buscar en SVG y otros formatos de vectores. O si su entorno lo permite, exportar archivos JPEG de compresión 0% y convertirlos a otro formato para la reproducción sin pérdida a 300DPI.

Espero que ayude!

+0

Alguien más ha mencionado SVG - Voy a echar un vistazo - ¡gracias! –

+0

+1. Me parece que esta pregunta es sobre imágenes vectoriales frente a imágenes de trama. Y el OP seguramente debería usar vectores para diagramas auto creados. – Sparhawk

+1

PNG ciertamente comprime sus imágenes. Es solo una compresión sin pérdida en comparación con la compresión con pérdida de JPEG. – Matt

19

No entiendo la parte getAsTree(), pero respondiendo a la pregunta que aparece en el título, el establecimiento de dpi para archivos PNG, puede utilizar la herramienta de conversión ImageMagick:

convert -density 300 -units pixelsperinch infile.jpg outfile.png 
+0

Solo quise decir que quería establecer el DPI programáticamente ... ¡pero he cambiado de opinión! Entonces imagemagick suena interesante, ¡gracias! –

+0

Parece que cuando se proporciona un PNG como entrada, el canal alfa se pierde. –

+1

O bien "-alpha Set" o "-alpha On" pueden ayudar aquí. Pero la documentación (http://www.imagemagick.org/script/command-line-options.php) es un poco confusa y no tengo ningún pngs de canal alfa para probar. – RobS

Cuestiones relacionadas