2015-03-21 4 views
1

Эти два вида кода ниже, используются для загрузки файла изображения:В чем разница между этими двумя типами кода загрузки изображений?

A)

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

B)

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

Какова реальная разница между этими двумя кодами ?

+0

различные средства для достижения той же цели. Я полагаю, что – SemperAmbroscus

+0

Дубликат http://stackoverflow.com/questions/14136475/what-is-the-difference-between-the-ways-to-read-an-image-file- в-Явы –

ответ

0

ImageIO.read(File) принимает File и является более новой, чем Toolkit.getImage(String) который принимает filename (и был частью языка более). Кроме того, первый один обеспечивает дополнительную функциональность (то есть, ImageIO.read(File) Javadoc говорит частично)

текущие настройки кэша из getUseCache и getCacheDirectory будет использоваться для управления кэшированием в ImageInputStream, который создается.

Обратите внимание, что нет метода чтения, который принимает имя файла как String; используйте этот метод вместо создания File из имени файла.

0

Возможно, основное различие между ними состоит в том, что Toolkit.getImage возвращает java.awt.Image, в то время как ImageIO.read Вернуть java.awt.image.BufferedImage (который является подклассом java.awt.Image).

Image объект является довольно абстрактное представление изображения, которое вы не можете сделать очень много с отдельно от прохода к различным Graphics.drawImage методов, в то время как BufferedImage содержит полные данные изображения, так что вы можете проверить отдельные пиксели, изменять их а также, например, сохранить изображение (в новый файл и/или новый формат файла).