如题;
BufferedImage image = ImageIO.read(new File("d:\\img11.jpg"));
System.out.println(image.getWidth());
System.out.println(image.getHeight()); 像这样取到的是图片的象素,怎么换算成厘米,是不是还跟分辨率有关系;
DPI 和PPI 。。?
哪位能帮忙举例子,或说明,,
BufferedImage image = ImageIO.read(new File("d:\\img11.jpg"));
System.out.println(image.getWidth());
System.out.println(image.getHeight()); 像这样取到的是图片的象素,怎么换算成厘米,是不是还跟分辨率有关系;
DPI 和PPI 。。?
哪位能帮忙举例子,或说明,,
如果都是1厘米下,当然是300dip比较清晰的。做的图只在电脑上看看,比如网页,桌面,那就72dip够了,做印刷和相片就得300dip了,这样才清晰。分辨率在96dpi下大约是一厘米里有38个像素点,也就是1像素等于1/38厘米。显示器的分辨率大多数都是96dpi的,也就是说显示器一厘米中大概有38个像素点!
分辨率在300dpi下大约是一厘米里有118个像素点,也就是1像素等于1/118厘米。
然后读取里面的XResolution、YResolution、Resolution Unit,如果存在就可以再判断图片像素大小再计算。
System.out.println("dpi:"+dpi);
FileInputStream fis = new FileInputStream(imgfile);
BufferedImage buff = ImageIO.read(imgfile);
map.put("w", buff.getWidth() * 1L);
map.put("h", buff.getHeight() * 1L);
map.put("s", imgfile.length());
System.out.println("width:"+((buff.getWidth()*1L)/dpi)*2.54 +"cm");
这样取到图片的dpi不对,所以计算不正确;
是我写的不对,或是另有什么办法 ,,?