java获取图片WidthDpiHeightDpi
时间: 2024-05-03 21:19:42 浏览: 132
java中ImageReader和BufferedImage获取图片尺寸实例
你可以使用Java的ImageIO类来获取图片的宽度和高度,然后使用Java的Toolkit类来获取图片的DPI(每英寸点数)。
以下是一个示例代码,可以获取图片的宽度、高度、水平DPI和垂直DPI:
```java
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ImageInfo {
public static void main(String[] args) {
try {
File file = new File("image.png");
BufferedImage image = ImageIO.read(file);
// 获取图片宽度和高度
int width = image.getWidth();
int height = image.getHeight();
System.out.println("Width: " + width + " pixels");
System.out.println("Height: " + height + " pixels");
// 获取图片水平和垂直DPI
int horizontalDpi = Toolkit.getDefaultToolkit().getScreenResolution();
int verticalDpi = horizontalDpi;
if (image.getTileWidth() > 1) {
horizontalDpi = (int) Math.round(image.getWidth() * 72.0 / image.getTileWidth());
}
if (image.getTileHeight() > 1) {
verticalDpi = (int) Math.round(image.getHeight() * 72.0 / image.getTileHeight());
}
System.out.println("Horizontal DPI: " + horizontalDpi);
System.out.println("Vertical DPI: " + verticalDpi);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们先读取了一个名为“image.png”的图片,然后使用`getWidth()`和`getHeight()`方法获取了图片的宽度和高度。接着,我们使用`Toolkit.getDefaultToolkit().getScreenResolution()`方法获取了当前屏幕的DPI,并计算出了图片的水平和垂直DPI。最后,我们输出了这些信息。
阅读全文