首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

怎么获取图片的宽度

2012-06-06 
如何获取图片的宽度?Java codepublic class Test {public static void main(String[] args) {Toolkit tk

如何获取图片的宽度?

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()

热点排行