2016-08-12 4 views
0

У меня есть набор стандартных фотографий. Я хочу, чтобы у пользователя была возможность выбрать фоновое фото. Я не уверен, как изменить размер этих фотографий. Мне нужно, чтобы соотношение сторон оставалось неизменным, а ширина - 400px. И я хочу сохранить их с - thumbnail в конце их имени файла.Изменить размер изображения на миниатюру

ИЗОБРАЖЕНИЯ ИЗ CONTROLLER

$scope.standardPhotos = [ 
    "/images/app-directory-images/default1.png", 
    "/images/app-directory-images/default2.png", 
    "/images/app-directory-images/default3.png", 
    "/images/app-directory-images/default4.png", 
    "/images/app-directory-images/default5.png" 
]; 
+0

Вы можете использовать элемент canvas для изменения размера этих изображений - http://tympanus.net/codrops/2014/10/30/resizing-cropping-images-canvas/ – dmoo

ответ

1

Вы можете использовать холст, но который использует очень плохой алгоритм Downsample. В конце концов я пошел использовать MIT-лицензированный Hermite downsampler, который также работает с использованием холста, но не так плохо, как по умолчанию.

Обратите внимание, что передискретизация изображений - это операция с избыточным весом вычислений, когда все сделано правильно, поэтому очень желательно просто изменить их заранее в любом графическом редакторе по вашему выбору (или даже web-app) и загрузить их на свой сервер , чтобы каждый пользователь не выполнял эти вычисления каждый раз.

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

0

Не могли бы вы дать немного больше информации о том, что используете?

Смежные вопросы