2013-10-16 4 views
0

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

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

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

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

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

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

ответ

1

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

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