我有一个 latex 文件,它将 tikz 输出叠加到 PNG 文件上。PNG 文件是一个 512x512 像素的图像,完美地表示来自外部数据集的栅格数据(通过颜色图)。tikz 文件在 PNG 文件中的像素组周围绘制矩形。这些框表示四叉树数据结构中的叶子。
使用 matplotlib,我可以生成具有正确尺寸(例如 4 英寸 x 4 英寸)和 DPI 的 PNG 文件,该文件可以准确显示光栅数据(128 DPI)。然后缩放 tikz 绘图以完美覆盖此图像。
但是问题是,当我在覆盖 tikz 的 latex 文档上使用 pdflatex 时,生成的 PDF 文件会模糊像素边界。我使用的是独立包,最终图像正好是 4 英寸 x 4 英寸(差不多),因此不应该进行任何缩放以适应某个固定的页面宽度。
这是我的 tikz 文件(为了清晰起见,已缩短...)。在 tikz 图像中,1 个单位 = 1/64 英寸,因此最终图像为 256/64 = 4 英寸。
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[x=0.015625in, y=0.015625in]
\node (plot) at (128.0,128.0)
{\includegraphics{plot_0004.png}};
\draw [ultra thin] (0,0) rectangle (256,256); % boundary box
% Patch number 0
\draw [ultra thin] (0,0) rectangle (16,16);
% Patch number 1
\draw [ultra thin] (16,0) rectangle (32,16);
% ..... more rectangles ...
\end{tikzpicture}
\end{document}
这是带有 tikz 覆盖的 PDF 文件的缩放图。此缩放图中的每个 tikz 矩形代表 PNG 文件中的 8x8 像素网格。
有什么方法可以保留 PNG 文件中的原始分辨率?我意识到我可以提高 PNG 文件的分辨率(例如,将其设置为 1024x1024),从而减少模糊,但这似乎没有必要,因为 512x512 恰好代表了我的数据。
我在 Preview.app 中查看 PNG 和 PDF。上面的图片是从 Preview 查看器截取的屏幕截图。因此,Preview 似乎能够以原始分辨率查看 PNG(可能是通过将其转换为内部 PDF 表示?)。为什么 Latex 不能做同样的事情?