Вопрос по архитектуре.

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Эт неинтересно. через iframe загружали с незапамятных времен. С обрезанием фотки видимо ничего интересного пока не придумали.
ты про обрезание или про upload?
обрезание в канвасе тоже сделали - мышкой указывается область, но вот что уходит на сервер, и насколько хорошо браузер ресайзит - оценить невозможно
 

fixxxer

К.О.
Партнер клуба
Так уж прямо невозможно. Берется набор картинок разного типа, делается "референсный" ресайз imagick-ом (или чем там у вас) и браузерным canvas-ом в разных браузерах (через karma-browserstack, например), результат сравнивается (хоть бы и на глаз). Что касается canvas, давным-давно известен трюк с пошаговым ресайзом.

Ну и если уж есть canvas и file api, то нафига нужен iframe, совсем непонятно. :)
 

fixxxer

К.О.
Партнер клуба
Только если в IE9, но за поддержку этого куска дерьма я уже тогда ценник увеличивал вдвое, сразу никто не хотел.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Так уж прямо невозможно. Берется набор картинок разного типа, делается "референсный" ресайз imagick-ом (или чем там у вас) и браузерным canvas-ом в разных браузерах (через karma-browserstack, например), результат сравнивается (хоть бы и на глаз).
для меня невозможно - я не видел разницы между iPad 2 и retina, когда она появилась, я не понимаю смысл инстаграма, я оцениваю изображение по сюжету
я не визуал
это нужно привлекать дизайнеров, фотографов ... делать опрос?
 

fixxxer

К.О.
Партнер клуба
Привлечь того, кто видит разницу, а если в команде никто не видит - значит, ее, наверное, и нет :)

Как вариант, сравнивать с эталоном и добиваться минимальной разницы.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Пошаговый ресайз, конечно, используется уже много лет, вопрос - что дальше.
Когда юзер отресайзил свою фотку в браузере и залил на сервер, он присылает ее в jpeg, так и храним. Очевидно, что пожата она плохо, и даже в jpeg можно без потери оптимизировать на 10-20%.
Если хранить в webp или flif - можно сэкономить еще 25-30% места на примерно том же качестве.
Пережимать повторно из jpeg в webp/flif - а смысл тогда жать на клиенте?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Смысл жать на клиенте есть, чтобы передавать с iPhone X не "up to 63MP", а пару мегабайт.
Например, если разрешение фотки больше, чем 4 тысячи пикселей по одной стороне - тогда уменьшать в 2 раза, а в webp жать на сервере.
 

fixxxer

К.О.
Партнер клуба
Да так все и делают, ужимают на клиенте большой файл до приемлемого размера шагами по 2 раза, а дальше уже на сервере.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
вот такого готового решения, чтобы делать как все, я не нашел - или только для upload, или только хранение, или CDN с нев$%^ым ценником
 

fixxxer

К.О.
Партнер клуба
А какое тут может быть готовое решение, кроме какого-нибудь SAAS? Клиент - это клиент, сервер - это сервер, во всех проектах разный стек технологий. Какой-нибудь jquery-плагин, скажем, мне даром не нужен, что мне с этим делать?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
из того, что я вижу, клиентская часть здесь очень маленькая, примеры по твоей ссылке на SO занимали строк 20,
так что можно сделать решение на сервере, описать АПИ, а клиента взять любого или написать за час
 

AnrDaemon

Продвинутый новичок
Неудобно, что виндового расширения нет. А так описание даже слишком радужное…
 
Сверху