我正在尝试注释一张图片,因此我开始将其包含在内并在其周围画一个红色方块:(文件.jpg)
\documentclass[tikz, border=1cm]{standalone}
\usepackage{tikz}
% https://tex.stackexchange.com/questions/219356/how-to-create-a-rectangle-filled-with-image-using-tikz
\usepackage[skins]{tcolorbox}
\begin{document}
\begin{tikzpicture}
% Test 1
\node[anchor=south west, scale=1] at (0,0) {\resizebox{320cm}{180cm}{%
\includegraphics{file.jpg}%
}%
};
% Test 2
%\path[fill stretch image=watermanMin.jpg] (0,0) rectangle (320cm,180cm);
\draw [red] (0,0) rectangle (320cm, 180cm);
\end{tikzpicture}
\end{document}
但似乎包含的图片大于320cm。我测试的2个解决方案都遇到了这个问题。
有人知道解决这个问题的方法吗?
(我也有尺寸太大,但图片的3m20比最大尺寸 5 米)
答案1
您的图片太大了。它报告的尺寸为 18710 × 10502 像素。DPI 为 72 时,尺寸为 6.6m×3.7m。对于 TeX 来说,这太大了!
您将需要增加其 DPI 或减少其实际像素大小。
改变 DPI 不会降低图像的质量,这似乎比制作海报时节省几千字节更重要。
我只想直接使用 和 的\resizebox
选项。无需提供两种长度。\incudegraphics
keepaspectratio
在处理这些尺寸时,设置inner sep
为零几乎不会引起注意,但不会造成影响。 的值outer sep
不会导致页面或图像大小不同,但它会更正确地将图像的实际左下角放置在指定的坐标处。(这也会更正确地放置红色矩形,但同样,在这些尺寸下……)
下面的代码报告纸张尺寸为 3220 mm × 1820 mm。
代码
\documentclass[tikz, border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}[inner sep=+0pt, outer sep=+0pt]
\node[anchor=south west] at (0,0) {
\includegraphics[width=320cm, keepaspectratio]{file-dpi}
};
\draw [red] (0,0) rectangle (320cm, 180cm);
\end{tikzpicture}
\end{document}