按像素数修剪图像

按像素数修剪图像

是否可以根据一定数量的像素而不是长度来修剪图像?

我有一组要包含的图像,在一个图中,底部的 135 修剪效果很好,但经过一些图像处理的同一图像的第二个版本以不同的 DPI(而不是不同的尺寸)保存,因此相同的修剪似乎对它们的修剪效果完全不同。

但是,这两组图像都是 512x384,那么是否可以仅根据图像像素指定修剪,例如 100px?谢谢。

答案1

(将评论总结为答案。)

pdfTeX 可以使用px单位,但您必须使用 适当地设置它们\pdfpxdimen。这是一个像素的物理宽度,默认值为1 bp,这意味着图像最初被假定为 72 dpi。\pdfpxdimen是一个低级 dimen 原语,因此最好使用 进行设置\dimexpr

\pdfpxdimen=\dimexpr 1 in/<dpi>\relax

其中,<dpi>是图像的分辨率。

正确设置后,您就可以\includegraphics正常使用,添加到(或其他)键px使用的值trim以获得正确的结果。

举个例子,考虑下面这两幅图像

600 dpi

72 dpi

像素大小相同,但分辨率不同。使用 LaTeX 文件

\documentclass{standalone}
\usepackage{graphicx}
\begin{document}
\setlength\fboxsep{0 pt}
\pdfpxdimen=\dimexpr 1 in/600\relax
\includegraphics[clip,trim=0 100px 200px 100px]{Figure-a} % 600 dpi
\pdfpxdimen=\dimexpr 1 in/72\relax
\includegraphics[clip,trim=0 100px 200px 100px,scale = 0.12]{Figure-b} % 72 pdi
\end{document}

输出文件中的结果

结果

显示了修剪的结果 - 两者相同。 (我缩放了第二幅图像,以便 pdfTeX 打印出两幅图像时尺寸相同。)

相关内容