![根据给定的宽度和高度,将包含的图形缩放到更高的比例,而不是更低的比例](https://linux22.com/image/239760/%E6%A0%B9%E6%8D%AE%E7%BB%99%E5%AE%9A%E7%9A%84%E5%AE%BD%E5%BA%A6%E5%92%8C%E9%AB%98%E5%BA%A6%EF%BC%8C%E5%B0%86%E5%8C%85%E5%90%AB%E7%9A%84%E5%9B%BE%E5%BD%A2%E7%BC%A9%E6%94%BE%E5%88%B0%E6%9B%B4%E9%AB%98%E7%9A%84%E6%AF%94%E4%BE%8B%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E6%9B%B4%E4%BD%8E%E7%9A%84%E6%AF%94%E4%BE%8B.png)
我想缩放包含的图形并保持其纵横比。使用
\includegraphics[width=<my width>,height=<my height>,keepaspectratio]{file.jpg}
缩放自然发生,但程序包会计算哪个缩放因子较低,即达到给定宽度的因子或达到给定高度的因子(同时观察纵横比)。如果您要填充给定尺寸并希望确保图像完全显示,那么这很有意义。
但是,我想使用两个缩放因子中较大的一个进行缩放。实际上,这将完全填充给定的尺寸并产生宽度或高度的重叠。
下一步,我想使用adjustbox
将视口裁剪为所需的尺寸,最好是位于图像的中心。但这可能是另一个问题的内容。
使用解决方案进行编辑
马丁基本上回答了这个问题,因此功劳属于他。
这里我只想分享我根据 Martin 的建议使用的实际代码。我的目标宽度和高度分别称为\mywidth
和\myheight
。
\adjustbox{%
min size={\mywidth}{\myheight},%
Clip*={0.5\width - 0.5\mywidth} {0.5\totalheight - 0.5\myheight}%
{0.5\width + 0.5\mywidth} {0.5\totalheight + 0.5\myheight}%
}{%
\includegraphics[max size={\mywidth}{\myheight}]{file.jpg}%
}%
为了获得adjustbox
可用的选项,includegraphics
我使用了export
包的选项。
答案1
adjustbox
从 2011/08/07 开始的最新版本提供了min width
、min height
和min size
以及max ...
。这些键确保给定的尺寸至少为或最多为给定的长度,并根据需要将其放大或缩小。它们始终保持纵横比。我认为就是min size={<width>}{<height>}
您所需要的。它会按照您的要求使用较大的缩放因子。如果您有一个已经较大的图像,则需要max size
事先使用较小的尺寸以确保它缩小。这不会对最终图像分辨率产生任何影响,因为整个图像以不变的形式包含在 PDF 中,然后由 PDF 查看器缩放显示。如果结果因子不是整数,则每次缩放只会增加一点舍入误差。
当加载选项时,export
这些adjustbox
键也会导出到\includegraphics
。它还提供了Clip
和Clip*
键(注意大写C
)来在任何缩放等之后剪辑内容。您可以使用\width
和\height
来引用当前大小。Clip*
等待剪辑视口,因此使用.5\width-.5\yourlength
、.5\width+.5\yourlength
等从中心剪辑:
\documentclass{standalone}
\usepackage[export]{adjustbox}
\begin{document}
\includegraphics{image}
\includegraphics[width=10cm,height=10cm,keepaspectratio]{image}
\includegraphics[min size={10cm}{10cm}]{image}
\includegraphics[min size={10cm}{10cm},Clip*={.5\width-5cm} {.5\height-5cm} {.5\width+5cm} {.5\height+5cm}]{image}
\end{document}