简体   繁体   English

来自File的java.awt.Image

[英]java.awt.Image from File

如何从文件加载java.awt.Image对象,并知道它何时加载?

The ImageIO helper class offers methods to read and write images from/to files and streams. ImageIO助手类提供了从/向文件和流读取和写入图像的方法。

To read an image from a file, you can use ImageIO.read(File) (which returns a BufferedImage ). 要从文件中读取图像,可以使用ImageIO.read(File) (返回BufferedImage )。 But since BufferedImage is a subclass of Image , you can do: 但由于BufferedImageImage的子类,您可以这样做:

try {
    File pathToFile = new File("image.png");
    Image image = ImageIO.read(pathToFile);
} catch (IOException ex) {
    ex.printStackTrace();
}

Use a java.awt.MediaTracker . 使用java.awt.MediaTracker

Here's a full example . 这是一个完整的例子

Basically, 基本上,

 toolkit = Toolkit.getDefaultToolkit();
 tracker = new MediaTracker(this);
 Image image = toolkit.getImage("mandel.gif");
 tracker.addImage(image, 0);
 tracker.waitForAll();

I would use an ImageIcon . 我会使用ImageIcon So doing, you don't have to bother about any checked exceptions. 这样做,您不必担心任何已检查的异常。 Also note that it uses a MediaTracker when loading images from file resources. 另请注意,从文件资源加载图像时,它使用MediaTracker

ImageIcon icon = new ImageIcon("image.png");
Image image = icon.getImage();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM