Может кто-то, пожалуйста, помогите с некоторым кодом для создания миниатюры для изображения в JavaFx.Создание миниатюры изображений в javafx
Я новичок в этом, поэтому поэтапное объяснение будет оценено.
Может кто-то, пожалуйста, помогите с некоторым кодом для создания миниатюры для изображения в JavaFx.Создание миниатюры изображений в javafx
Я новичок в этом, поэтому поэтапное объяснение будет оценено.
Вы можете использовать конструктор изображений для создания эскизов изображений из большого изображения, вот пример из 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, остается в полном размере, что позволяет быстро потреблять много памяти, когда у вас много изображений.