来自 \includegraphics 的图像显示尺寸错误

来自 \includegraphics 的图像显示尺寸错误

当我使用以下内容嵌入图像时:

\begin{figure}[htb]
\centering
\includegraphics{my_image} 
\caption{blaaa} 
\label{fig:blaaa}           
\end{figure}

而如果my_image是 JPG 文件,图像无法以正确的格式显示。它显示得比原图更大,my_image.jpg因此质量很差。即使我这样做

\includegraphics[width=300px,height=100px]{my_image} 

对于大小恰好为 300px*100px 的图片my_image.jpg,它会以更大的尺寸显示并被拉伸 :( 我没有更改\includegraphics设置的标题声明。我希望带有纯文本的图像\includegraphics{my_image}以其真实尺寸显示。

答案1

当您截取屏幕截图或将 Matlab 中的图形导出为栅格化图像时,通常生成的图像文件不会在其元数据中包含任何分辨率信息(或“像素密度”,通常以“每英寸点数”或“DPI”为单位)。当您使用 将此类图像包含在 LaTeX 文档中时\includegraphics,将假定其分辨率为 72 DPI。例如,这意味着大小为 1440x900 像素的屏幕截图在您的 PDF 或 DVI 中的宽度为 1440 像素/72 像素/英寸 = 20 英寸 = 51 厘米,因此它很可能对您的文档来说太大。水平宽度为 15 英寸(= 38 厘米)的计算机显示器在屏幕尺寸为 1440x900 像素时,其分辨率为 1440 像素/15 英寸 = 96 dpi。如果您希望屏幕截图在计算机屏幕上和打印文档中具有相同的尺寸(在本例中宽度为 38 厘米),则需要找到一种方法让 LaTeX 知道图像的分辨率是 96 DPI。有多种方法可以做到这一点:

可选择以下方式includegraphics
如果您使用 编译文档pdflatex,则可以通过 加载图像来指定图像的分辨率\includegraphics [resolution=<resolution in DPI>] {<filename>}。这仅在图像中不包含分辨率信息时才有效。

通过使用 GIMP 设置图像元数据:
转到Image->并在下拉菜单中选择Scale Image...后调整 X 和 Y 分辨率。然后保存您的图像。pixels/in

通过使用 IrfanView 设置图像元数据:
在 IrfanView 4.30 中,您可以单击Image - Information(或按I)来显示图像的元数据。第五行称为Resolution,应包含两个字段,您可以在其中设置水平和垂直分辨率(以每英寸点数为单位)。通过按下按钮Change,将设置新的分辨率。图像的“物理”尺寸(以厘米和英寸为单位)显示在第八行中,称为 ,该尺寸是通过将像素大小与分辨率相乘而获得的Print Size (from DPI)。然后,您可以通过调用将图像包含在 LaTeX 文档中,而\includegraphics {<filename>}无需任何额外选项。

通过使用 ImageMagick 设置图像元数据:
在 Linux 系统上,ImageMagick 程序通常已经存在或可以轻松安装。然后,您可以通过convert <original file name> -density <resolution> -units PixelsPerInch <new file name>在 shell 中调用来设置分辨率信息。然后,您可以通过调用将图像包含在 LaTeX 文档中,而\includegraphics {<filename>}无需任何额外选项。

相关内容