2014-08-28 53 views
2

我试图获取有关通过iText(使用Java)保存为PDF文件的扫描图像的信息。使用iText在PDF文件中获取图像DPI

使用the answer and comments,我得到了宽度和高度(通过矩阵或通过BufferedImage)。想法是在这里使用answer来计算DPI,但我有点失落。

这些值(宽度和高度)是以像素还是点为单位?有没有其他方法可以实现这一目标?关于如何缩放和保存图像到PDF文件有很多答案,但是我没有找到关于如何读取图像的宽度/高度/比例以及对结果有信心的答案。

回答

2

让我们把这个问题分成两个单独的问题。要计算DPI,您需要两组值:像素数和英寸距离。

  1. 像素数量:您获取图像,图像由像素组成。您可以从图像中以像素为单位检索图像的宽度和高度。假设这些值是wPxwPx
  2. 以英寸为单位的距离:您可以获得以点表示的值的矩阵。由于72分等于1英寸,因此您需要将这些值除以72.假设这些值为wInchhInch

现在你可以像这样在x方向上计算DPI了:wPx/wInch和y方向上的DPI是这样的:hPx/hInch

+0

现在它是有道理的:图像是在像素,矩阵是在点,所以我需要两个和一个简单的部门会给我我想要的结果,对吧? – Finik 2014-08-28 14:48:39

+0

是的。从矩阵中获取英寸很容易。从图像中获取像素可以用不同的方式完成,也可以取决于图像的类型。尽管使用标准的java.awt类应该是可能的。 – 2014-08-28 20:17:48