Определите размер изображения с помощью ImgScalr
Привет! В настоящее время я использую библиотеку ImgScalr, и у меня мало маркеров для загрузки изображений из документа HTML, однако иногда изображения имеют низкое качество, и если это так, мне нужно отсканировать через источник HTML, чтобы загрузить все изображения и использовать один с самым большим размером в байтах.
Я использую библиотеку ImgScalr, мне нужно знать, как я могу проверить размер изображения в байтах, чтобы определить, соответствует ли оно моим требованиям к качеству. Это правильный подход?
Благодарю.
2 ответа
Автор imgscalr здесь - библиотека ориентирована только на операции с изображениями, работая с несжатыми объектами BufferedImage.
Чтобы узнать фактический размер файла, вы просто загрузите все изображения со страницы HTML в каталог, а затем выполните итерации по файлам, используя стандартные операции с файлами Java, чтобы определить размер файла.
Если вы используете Java 7+, вы можете использовать удобную операцию Files.size.
$dir = "/path/to/image/directory/*.jpg"; //Path to image folder and image type extension
$list = array(); //Create and empty array
foreach(glob($dir) as $checkimages){
$size = filesize($checkimages);
if($size > 500000){ //enter file size minimum
$list[] = $checkimages; //final array contains the images you seek
}
}
Это использует PHP для поиска всех изображений в папке, а затем проверяет каждое на минимальный размер файла, если соответствует критериям вставки в новый массив.
//Output to HTML each file in array
foreach($list as $output){
echo $output.'<br/>';
}
// or
print_r($list);