当前位置: 代码迷 >> Java相关 >> 怎么获取图片的宽度
  详细解决方案

怎么获取图片的宽度

热度:7408   发布时间:2013-02-25 21:45:46.0
如何获取图片的宽度?
Java code
public class Test {    public static void main(String[] args) {        Toolkit tk = Toolkit.getDefaultToolkit();        Image image1 = tk.getImage("f:/TestDir/test.jpg");        int width1 = image1.getWidth(null);        System.out.println(width1);    }}

打印结果:-1

-------------------------------------------
Java code
public class Test2 {    public static void main(String[] args) {        Toolkit tk = Toolkit.getDefaultToolkit();        Image image1 = tk.getImage("f:/TestDir/test.jpg");        Image image2 = new ImageIcon("f:/TestDir/test.jpg").getImage();        int width1 = image1.getWidth(null);        System.out.println(width1);        int width2 = image2.getWidth(null);        System.out.println(width2);    }}

打印结果:161
  161


请高手解说下其中的原理,特别 是打印-1的原因。

------解决方案--------------------------------------------------------
第一次是因为你的图像可能还没有被完全load进来。
顺便说一下,推荐你使用ImageIO.read()来读取图片!
你可以使用MeadiaTracker来等图片完全加载以后再读它的属性值
http://blog.csdn.net/jia20003/article/details/7279667
------解决方案--------------------------------------------------------
BufferedImage image = ImageIO.read(路径);
image.getWidth()
  相关解决方案