java获取图片大小
⑴ java 根据url获取图片高和宽
String imageUrl="http://avatar.csdn.net/9/F/2/1_5iasp.jpg";
BufferedImage image=getBufferedImage(imageUrl);
if (image!=null)
{
System.out.println("图片高度:"+image.getHeight());
System.out.println("图片宽度:"+image.getWidth());
}
else
{
System.out.println("图片不存在!");
}
⑵ imageio java最大能读取多大尺寸的图片
BufferedImage image = javax.imageio.ImageIO.read(file);报错:java.lang.OutOfMemoryError
: Java heap space
图片大小是3425px*4843px,我本机内存1g。
------解决方案--------------------------------------------------------
Xms Xmx 把jvm的heap 调大点 试试~~~
------解决方案--------------------------------------------------------
设置一下stack size的大小 java 后跟参数即可设置,具体参数如下:
-Xms size set initial Java heap size
-Xmx size set maximum Java heap size
-Xss size set java thread stack size
------解决方案--------------------------------------------------------
用java.exe -Xmx1024m -Xms256m .来运行的程序,你机器是1G但是又没分配给jvm
------解决方案--------------------------------------------------------
ImageIO.read(File file)使用来自boolean getUseCache() 和 File getCacheDirectory()的当前缓存设置控制所创建的 ImageInputStream 中的缓存。其中getUseCache()默认设定是true,getCacheDirectory()返回的是setCacheDirectory(File cacheDirectory)所设定的目标,如果用户没有明显设定,那么getCacheDirectory()返回的将是null。
⑶ java 如何取得图片的宽度,厘米而非象素
建议使用PS软件进行调整。
操作步骤:
1.打开需要处理的照片,在“图像”中找到“图像大小”。
2.然后就可以进行对宽和高进行调整了。
注意:要把下方“约束比例”的勾去掉,不然是修改不了想要的数值。
⑷ JAVA怎么判断图片的大小
用IO把文件通过你已知的地址获取到。源地址就是那个文件的连接。获取到文件对象后,可以通过属性获取到大小。
或者有个笨方法,你把文件写到本地再获取大小,然后把图片删掉。
⑸ java哪个类提供了获取图片所占存储空间大小或者如何计算求详细
图片占内存容量计算公式为:
图片所占内存大小 = 图片长度(像素) * 图片宽度(像素) * 一个像素所占内存空间(单位:字节)
一般地,一个象素所占内存空间根据机器颜色数(专业词汇叫色深Color Depth)来决定:(1)Nokia 老S40机器 颜色数为4096色,就是2^12, 一个象素所占内存空间为1.5个字节;(2)Nokia S40新版 机器和 S60机器 颜色数为65536色,就是2^16, 一个象素所占内存空间为2个字节;有些机器颜色数为26w色,就是2^18=2.2字节,1600w = 2^24=3个字节,一个象素所占内存空间为4个字节。
ps:专业名词“8位”是指所能表现的颜色深度:一个8位图像仅最多只能支持256(2^8)种不同颜色,1个字节。