Pergunta

Desculpe, isso pode ou não ser uma questão de programação diretamente, mas estou tentando redimensionar capturas de tela com imagemagick e gimp para incluir em uma apresentação de Beamer, mas sai ainda mais embaçado do que o redimensionamento feito por látex.

Por exemplo, em Beamer, posso ter um comando para redimensionar a imagem \includegraphics[width=.5\textwidth]{fig.png}. Usando algo como

\begin{frame}
\message{width = \the\textwidth}
\message{height = \the\textheight}
\end{frame}

Eu peguei o \textwidth e \textheight Parâmetros em pontos (345.69548, 261.92444). Então, eu tenho um script (em Python) que envia uma chamada de sistema para o ImageMagick:

'convert %s -resize %.6f@ resized_%s' % (f,a,f)

Onde a é calculado como \textwidth*\textheight*0.5**2 e f é o nome do arquivo. Quando volto à minha apresentação Beamer e incluo a figura redimensionada, \includegraphics{resized_fig.png}, o tamanho parece aproximadamente correto, mas é super escorrido. Eu também tentei redimensionar no GIMP (usando a GUI), mas também não há sorte ... ajuda? Obrigado...

Foi útil?

Solução

Se você deseja preservar a nitidez de pixels, ou seja, não escala e interpole pixels, mas os represente como pequenos quadrados, sugiro essa abordagem:

  1. Converta sua imagem PNG em EPS/PDF com Sam2p.

  2. Inclua EPS convertido ou PDF em seu documento, como de costume. Cada pixel será apenas uma pequena caixa retangular, parecerá nítida e nítida e escalará sem interpolação.

Por exemplo, vamos supor que tenhamos uma pequena imagem raster, que queremos mostrar:

10×10

Podemos convertê -lo em PDF do vetor com este comando:

sam2p 10x10.png PDF: 10x10.pdf

Agora, como temos uma versão vetorial (onde cada pixel é retangular), podemos incluí -lo em qualquer documento e escala de látex livremente. Todos os pixels serão dimensionados, mas não serão interpolados.

Por exemplo,

\documentclass[12pt]{article}
\usepackage[papersize={4cm,4cm},margin=2pt]{geometry}
\usepackage{graphicx}

\begin{document}
\includegraphics[width=0.8\linewidth]{10x10.pdf}
\end{document}

Isso vai ficar assim:

10×10 scaled without interpolation

Desvantagens:

  • A versão em PDF da imagem provavelmente será várias vezes maior que sua versão PNG original.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top