Как вы определяете размер облачного изображения с измененным размером (масштаб / большой палец / и т. д.)?

Я использую библиотеку Cloudinary javascript/node.js для создания изображений с измененным размером с использованием различных методов (масштаб, обрезка, подгонка и т. д.).

Библиотека возвращает URL-адрес на основе указанных параметров преобразования, НО -

Я не знаю размер изображения до тех пор, пока оно не будет загружено, а поскольку изображения являются контентом, созданным пользователем, и могут иметь разные пропорции или меньше отображаемого максимального размера, размер не обязательно будет таким, каким я его считаю. указано в опциях.

Хотя вы можете использовать тег img только со значениями src и alt, вам действительно следует также указать width и height, иначе это может замедлить рендеринг HTML-страницы (либо ожидание загрузки изображения перед макетом, либо пересчет макета, когда изображения загружается в зависимости от браузера и других факторов).

Поскольку Cloudinary знает исходные размеры изображения и алгоритм, используемый для создания изображения с измененным размером, имеет смысл определить окончательную ширину и высоту изображения с измененным размером, но я не могу понять, как это сделать, используя любой из доступные библиотеки.

Есть ли функция, которую я пропустил, существующая библиотека или пример, где это было сделано?


person Jed Watson    schedule 16.10.2013    source источник


Ответы (1)


В процессе загрузки вы можете отслеживать размеры загружаемых изображений, а затем вычислять ожидаемые размеры при отображении изображений. Размеры указаны в ответе на запрос загрузки. См. раздел загрузка Node.js на стороне сервера.

В качестве альтернативы вы можете использовать нетерпеливые преобразования, получить размеры изображения после преобразования в ответе, сохранить это данные и использовать их при отображении изображения.

person Itai Benari    schedule 17.10.2013