gpt4 book ai didi

java - 如何获取图像的高度和宽度?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:57 25 4
gpt4 key购买 nike

为什么下面的代码会返回 Height: -1,这意味着高度还未知。如何获取图片的高度?

 try {
// Create a URL for the image's location
URL url = new URL("http://bmw-2006.auto-one.co.uk/wp-content/uploads/bmw-m3-2006-3.jpg");

// Get the image
java.awt.Image image = Toolkit.getDefaultToolkit().createImage(url);

System.out.println("Height: " + image.getHeight(null));


} catch (MalformedURLException e) {
} catch (IOException e) {
}

最佳答案

使用ImageIO.read(URL)ImageIO.read(File)反而。加载时会阻塞,返回后才知道图片的宽高。

例如

enter image description here

import java.awt.image.BufferedImage;
import javax.swing.*;
import javax.imageio.ImageIO;
import java.net.URL;

class SizeOfImage {

public static void main(String[] args) throws Exception {
URL url = new URL("/image/7bI1Y.jpg");
final BufferedImage bi = ImageIO.read(url);
final String size = bi.getWidth() + "x" + bi.getHeight();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JLabel l = new JLabel(
size,
new ImageIcon(bi),
SwingConstants.RIGHT );
JOptionPane.showMessageDialog(null, l);
}
});
}
}

或者,添加一个 MediaTracker到由 Toolkit 异步加载的图像并等待它完全加载。

关于java - 如何获取图像的高度和宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8184040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com