调整屏幕截图/屏幕截图的大小以包含在 Beamer 中

hat*_*rix 5 latex imagemagick image-processing beamer gimp

抱歉,这可能是也可能不是直接的编程问题,但我正在尝试使用 Imagemagick 和 Gimp 调整屏幕截图的大小以包含在 Beamer 演示文稿中,但结果比LaTeX 所做的调整大小更模糊。

例如,在 Beamer 中我可能有一个重新缩放图像的命令\includegraphics[width=.5\textwidth]{fig.png}。使用类似的东西

\begin{frame}
\message{width = \the\textwidth}
\message{height = \the\textheight}
\end{frame}
Run Code Online (Sandbox Code Playgroud)

我已经得到了\textwidth\textheight参数(345.69548,261.92444)。所以我有一个脚本(Python)向 Imagemagick 发送系统调用:

'convert %s -resize %.6f@ resized_%s' % (f,a,f)
Run Code Online (Sandbox Code Playgroud)

其中a计算为\textwidth*\textheight*0.5**2f是文件名。然后,当我返回到 Beamer 演示文稿并包含调整大小的图形时,\includegraphics{resized_fig.png}尺寸看起来大致正确,但非常模糊。我也尝试在 Gimp 中调整大小(使用 GUI),但也没有运气......帮忙?谢谢...

sas*_*nin 4

如果您想保留像素清晰度,即不缩放和插值像素,而是将它们表示为小方块,我建议采用这种方法:

\n
    \n
  1. 使用sam2p将 PNG 图像转换为 EPS/PDF 。

    \n
  2. \n
  3. 像往常一样将转换后的 EPS 或 PDF 包含在您的文档中。每个像素都只是一个小矩形框,它看起来清晰锐利,并且无需插值即可缩放。

    \n
  4. \n
\n

例如,假设我们有一个小的光栅图像,我们想要显示:

\n

10\xc3\x9710

\n\n

我们可以使用以下命令将其转换为矢量 PDF:

\n
sam2p 10x10.png PDF: 10x10.pdf\n
Run Code Online (Sandbox Code Playgroud)\n

现在我们有了矢量版本(其中每个像素都是一个矩形),我们可以将其包含在任何 LaTeX 文档中并自由缩放。所有像素都会缩放,但不会进行插值。

\n

例如,

\n
\\documentclass[12pt]{article}\n\\usepackage[papersize={4cm,4cm},margin=2pt]{geometry}\n\\usepackage{graphicx}\n\n\\begin{document}\n\\includegraphics[width=0.8\\linewidth]{10x10.pdf}\n\\end{document}\n
Run Code Online (Sandbox Code Playgroud)\n

这看起来像这样:

\n

10\xc3\x9710 无插值缩放

\n\n

缺点:

\n
    \n
  • 该图像的 PDF 版本可能比原始 PNG 版本大几倍。
  • \n
\n