riddlr
@riddlr

Кроп аватары — в браузере или на сервере?

Не могу понять как это делают все крупные социалки? Из девтулз не понятно (у Твиттера вообще странно происходит обмен данных - никаких аплоадов картинок не происходит вообще).

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

1. Если в браузере обрезать, то это канвас? И только он? Или есть другой способ?
1.1 Влияет ли обрезка канвасом на качество картинки (вероятно происходит какой-то декод же, а там куча настроек)
2. Если на сервере - то получается в браузере моя задача показать юзеру интерфейс и потом забрать координаты, передать картинку + координаты и уже обрезать на сервере?
3. Есть третьи варианты?
  • Вопрос задан
  • 382 просмотра
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
1. не только
1.1. можно резать не только канвасом же
2. да
3. да

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

На практике проще будет
1. решить для себя клиент или сервер.
2. применить что-то из готовых библиотек по работе с иображениями. Благо, выбор довольно широкий.
Ответ написан
AngReload
@AngReload
Кратко о себе
1. Не только. На JS и без того есть чем открыть и обработать картинки.
https://www.npmjs.com/search?q=keywords:image%20pr...
https://www.npmjs.com/search?q=keywords%3Aimage%20...
Но, по соображениям безопасности, на сервере придётся проверить размеры и сжать то что пришло.
1.1 Декодирование - нет. Обрезка - нет. А вот ресайз в канвасе плохой.
https://habr.com/post/252175/ https://habr.com/post/302744/
Ответ написан
YumeReaver
@YumeReaver
Бургомистр
Загружается и везде используется прямоугольное изображение.
Круглая автарка делается CSS-стилем.
Можете проверить в ВК, через F12 исследовать любую аватарку - src будет ссылаться на прямоугольную.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы