我正在努力理解如何正确操作图形。我的图形目前有一个旋转的视口,我需要一个旋转的图像和一个正常的矩形视口。
有没有办法在不改变视口的情况下调整图像的平移、缩放和旋转?或者调整生成的图形的大小?
为了描述一个可以完成我需要的命令,
\addgraphics[width=\linewidth, aspectratio=1.67, zoom=1 ,panx=0.0, pany=0.0, rotation=30]{path/to/file}
其中唯一采用单位的参数是width
,并且rotation
始终位于视口的中心附近。Panx
并且pany
将是相对的,从 0 到 1,并且aspectratio
将是原始图像(预旋转)的数字或默认值。Zoom
将从 0 到无穷大。
举个例子:
蓝色框表示我想要的视口,蓝色框外的所有内容都会被裁剪掉,并且图形需要正确对齐,如紫色箭头和红线所示。
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[!h]
\centering
\includegraphics[width=0.475\linewidth]{example-image-a}~%blank space character
\includegraphics*[width=0.475\linewidth, angle=30]{example-image-a}%
\end{figure}
\end{document}
答案1
如果我理解正确的话,那么您正在寻找类似这样的东西:
那么下面的代码可以作为起点:
\documentclass{article}
\usepackage[export]{adjustbox} % it also load graphicx
\usepackage{tikz}
\begin{document}
\begin{figure}[ht]
\centering
\setkeys{Gin}{width=0.475\linewidth,height=44mm}
\includegraphics{example-image-a}~%blank space character
%
\begin{tikzpicture}[
path image/.style={path picture={
\node at (path picture bounding box.center) {
\includegraphics[rotate=30]{#1}};}
}]
\path [path image=example-image-b] (0,0) rectangle (0.476\linewidth, 44mm);
\end{tikzpicture}
\end{figure}
\end{document}
附录: 如果您想缩放第二张图像,请查看以下示例是否适合您:
\documentclass{article}
\usepackage[export]{adjustbox} % it also load graphicx
\usepackage{tikz}
\begin{document}
\begin{figure}[ht]
\centering
\includegraphics[width=0.475\linewidth,height=44mm]{example-image-a}~%blank space character
%
\begin{tikzpicture}[
path image/.style={path picture={
\node at (path picture bounding box.center) {
\includegraphics[scale=2, rotate=30]{#1}};}
}]
\path [path image=example-image-b] (0,0) rectangle (0.475\linewidth, 44mm);
\end{tikzpicture}
\end{figure}
\end{document}