#javascript #image #filesize #dimensions
#javascript #изображение #размер файла #размеры
Вопрос:
С помощью javascript существует ли какой-либо метод вычисления размеров изображения, просто зная его размер файла?
Я предполагаю, что разные форматы (JPEG / PNG) требуют разных вычислений, но я хочу использовать только JPEG или PNG.
Ответ №1:
Нет, нет способа сделать это надежно. Размер сжатого изображения во многом зависит от фактического характера изображения. Белый прямоугольник 1600×1200 сжимается почти до нуля, в то время как цветная фотография цирка была бы намного больше.
Теперь форматы изображений могут содержать легко читаемые заголовки (или трейлеры или что-то еще), которые напрямую сообщают вам размеры изображения. (Я подозреваю, что фактически практически все форматы изображений имеют такие метаданные, потому что это кажется практической необходимостью, но я не эксперт, поэтому я подстрахуюсь 🙂
Комментарии:
1. И даже если бы размер файла был функцией ширины * высоты, вы бы не знали, было ли у вас изображение размером 100 x 100 или 5000 x 2…
Ответ №2:
Не совсем. Потому что у вас может быть Jpg очень высокого качества с размерами x, но низкого качества с теми же размерами. Размер файла будет сильно отличаться.
Ответ №3:
На основе типа файла, а также характера изображений, с которыми вы будете иметь дело, вы можете рассчитать приблизительный размер изображения из среднего значения бит / пиксель.
Однако, насколько хороша аппроксимация, зависит от того, насколько различны изображения. Изображения в формате JPEG можно сохранять с разной степенью сжатия, поэтому размеры файлов могут сильно различаться.