La imagen PNG de una imagen TikZ generada por la clase de documento independiente tiene dimensiones incorrectas

La imagen PNG de una imagen TikZ generada por la clase de documento independiente tiene dimensiones incorrectas

Considere el siguiente manuscrito de LaTeX, que utiliza la standaloneclase de documento para generar tanto una imagen PDFcomo una PNGimagen de una TikZimagen.

\documentclass[tikz,convert]{standalone}
\begin{document}
\begin{tikzpicture}
  \draw (0,0) -- (1,1)
   [rounded corners] -- (2,0) -- (3,1)
   [sharp corners] -- (3,0) -- (2,1);
\end{tikzpicture}
\end{document}

La imagen resultante PDFes (esta es una captura de pantalla):

La imagen PDF resultante

La imagen resultante PNGes:

La imagen PNG resultante

¿Por qué la PNGimagen es diferente yequivocado, dimensiones que el PDFarchivo?

Respuesta1

Conceptualmente los mapas de bits no tienen un tamaño, solo tienen una cantidad de píxeles. Como se documenta en el standalonemanual, la clase le diceconvert que se deben asumir 300 ppp, lo que genera una imagen de alta resolución para imprimir, pero la resolución de imagen predeterminada para pdftex es 72 ppp, de hecho.Los archivos png pueden almacenar un tamaño previsto para sus píxeles.pero la mayoría no lo hace, e incluso si no lo hacen, todos los sistemas usan la sugerencia.

entonces cualquiera de

  \fbox{\includegraphics[scale=.24]{file.png}}% 72/300=.24

o

 {\pdfimageresolution=300 \fbox{\includegraphics{file.png}}}

será del mismo tamaño que

 \fbox{\includegraphics{file.pdf}}

Respuesta2

No, no lo hace. Depende de cómo lo midas.

Medición en MS Word:

Tres imágenes de diferente resolución colocadas en Word:

ingrese la descripción de la imagen aquí

Cuando se imprime:

ingrese la descripción de la imagen aquí

Medición en LaTeX:

El código:

    \documentclass[]{standalone}
    \usepackage{graphics}
    \begin{document}
    \noindent
    \includegraphics{aaa.pdf}
    \includegraphics{aaa.png}
    \end{document}

Medición en pantalla con zoom del 100% del visor de PDF:

ingrese la descripción de la imagen aquí

Medición en Página Web:

No puede confiar en el tamaño del PNG que ve en un navegador web, ya que procesan las imágenes de manera diferente (mira aquí)

Imagen JPEG con 1200 ppp subida a Imgur y vista a través de un navegador web:

ingrese la descripción de la imagen aquí

Imagen PNG con 300 ppp subida a Imgur y vista a través de un navegador web:

ingrese la descripción de la imagen aquí

Imagen JPEG con 50 ppp subida a Imgur y vista a través de un navegador web:

ingrese la descripción de la imagen aquí

Si desea ver la dimensión correcta en su navegador web, debe generar su PNG con el ppp correcto. Vea el siguiente ejercicio:

Mi pantalla es 2560x1440.

La dimensión horizontal de la pantalla es: aproximadamente 23,5 pulgadas.

La resolución de la pantalla es 2560 puntos/23,5 pulgadas = 109 puntos por pulgada

Generé un PNG con un ppp de aproximadamente 110.

Mido la dimensión horizontal en la pantalla con un navegador web:

ingrese la descripción de la imagen aquí

Respuesta3

El standalonemanual del usuario (v1.2 - 15/07/2015) explica por qué la imagen PNG generada no tiene las dimensiones físicas esperadas y también brinda métodos para configurar estas dimensiones correctamente.

Por qué la imagen PNG tiene dimensiones físicas incorrectas

Según la sección 4.6.1 'Configuración de conversión' en la p. 15

se utilizan las siguientes configuraciones predeterminadas: [...] una densidad de 300 ppp

'dpi' es la abreviatura de 'punto por pulgada', también conocido como 'píxeles por pulgada' ('ppi'). Para tener las dimensiones correctas cuando se muestran en su pantalla, los ppi utilizados para generar el PNG deben ser iguales a los ppi de su pantalla.

Para conocer los ppi de tu pantalla, sigueeste método simpledado en WikipediaDensidad de pixelespágina. El método consiste en utilizar una regla apoyada en la pantalla para medir la longitud de una línea que se sabe que está formada por un determinado número de píxeles.

Cómo garantizar que la imagen PNG tenga las dimensiones físicas correctas

Tabla 1 en la pág. 17 sugiere dos métodos para garantizar que la imagen PNG generada tenga las dimensiones físicas deseadas. Ambos métodos consisten en asignar un valor a la convertopción de clase de documento, de la siguiente manera:

\documentclass[tikz,convert={...}]{standalone}
  1. Establezca convert={density=<d>}dónde <d>están los ppi de su pantalla.

  2. Establezca convert={size=<w>x<h>}dónde <w>x<h>están las dimensiones en píxeles de una imagen PNG que se sabe que tiene las dimensiones físicas deseadas cuando se muestra en su pantalla.

    En el presente caso, dado que usted indicó que la captura de pantalla de la imagen PDF tenía las dimensiones físicas correctas, utilice sus dimensiones en píxeles, es decir, 137x50. Si usa macOS, estos se pueden leer directamente desde Finder.

información relacionada