Подобные вещи в значительной степени являются одной из причин, по которой мы имеем <canvas>
.
Используя тег <canvas>
, вы можете выполнять манипуляции с изображениями на лету, вообще не создавая нагрузки на сервер (фактически сервер совершенно не знает об этой манипуляции с изображениями). Затем, когда все будет готово, вы можете получить необработанные данные изображения с холста и поместить их в тег <img>
, или отправить их на сервер, или что-нибудь еще, что вы можете сделать с изображениями.
Если вы сможете реализовать это с отступлением от того, что у вас есть в настоящее время (вместе с предложениями, сделанными другими ответами), тогда вы достигнете хорошего баланса.