Вычисление размеров изображения по его размеру файла

#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 можно сохранять с разной степенью сжатия, поэтому размеры файлов могут сильно различаться.