这两种图像加载代码的区别是什么



以下两种代码用于加载图像文件:

A)

File sourceimage = new File("filename");
Image image = ImageIO.read(sourceimage);

B)

Toolkit tk = Toolkit.getDeafaultToolkit();
img=tk.getImage("filename");

这两个代码的真正区别是什么?

ImageIO.read(File)采用File,并且比采用filenameToolkit.getImage(String)更新(并且作为语言的一部分的时间更长)。此外,第一个提供了额外的功能(也就是说,ImageIO.read(File)javadoc部分地说)

getUseCachegetCacheDirectory的当前缓存设置将用于控制创建的ImageInputStream中的缓存。

请注意,没有将文件名作为字符串的读取方法;在根据文件名创建File之后,请改用此方法。

两者之间的主要区别可能是Toolkit.getImage返回java.awt.Image,而ImageIO.read返回java.awt.image.BufferedImage(它是java.awt.Image的子类)。

Image对象是一种相当抽象的图像表示,除了传递到各种Graphics.drawImage方法之外,您无法对其进行太多处理,而BufferedImage包含完整的图像数据,因此您可以检查各个像素,修改它们,例如,还可以将图像保存(到新文件和/或新文件格式)。

相关内容

最新更新