2016-01-14 2 views

ответ

1

Вы можете использовать конструктор изображений для создания эскизов изображений из большого изображения, вот пример из Image javadoc:

// load an image and resize it to width of 100 while preserving its 
// original aspect ratio, using faster filtering method 
// The image is downloaded from the supplied URL through http protocol 
Image image3 = new Image("http://sample.com/res/flower.png", 100, 0, false, false); 

Что конструктор Image делает загрузить изображение и изменить его размер, сохраняя только пиксели изображения в памяти, поэтому это интенсивность ввода-вывода и процессора, но свет памяти.

Обратите внимание, что если вы делаете это много, это становится довольно дорогостоящим процессом, поэтому некоторые системы просмотра изображений сохраняют миниатюрные изображения на диске после их создания, так что в следующий раз, когда требуется эскиз, он считывается из диск, а не чтение и изменение размера всего исходного файла. ImageIO может использоваться с SwingFXUtils, чтобы сохранить измененные изображения на диск, если вы хотите это сделать.

После создания уменьшенного изображения, вы можете поместить его в ImageView для отображения:

ImageView imageView = new ImageView(image); 

Вы можете использовать ImageView, чтобы изменить вид изображения, манипулируя иллюминатор ImageView в или fitHeight и fitWidth свойства , Если у вас много уменьшенных изображений, вы не захотите этого делать. Изменение размера изображений в ImageView, а не на конструкторе изображений означает, что изображение, поддерживающее ImageView, остается в полном размере, что позволяет быстро потреблять много памяти, когда у вас много изображений.