Я посмотрел «полигональные изображения кадрирование» и нашел некоторые другие StackOverflow ответы, а также некоторый исходный код на GitHub. Проверить их:
обрезки изображения должно быть сделано на стороне сервера. В первом ответе приведен пример кода, написанного на PHP.
Идея на стороне клиента вы рисуете многоугольник вокруг области, которую хотите обрезать, которая представлена списком вершин. Затем вы можете отправить изображение и список вершин на сервер для обработки изображений.
Используя вершины, сервер может создать маску изображения. Это заканчивается тем, что действует как своего рода двоичный фильтр: вещи внутри формы остаются, все остальное становится прозрачным. Затем вы можете отправить это обратно клиенту.
Это будет отлично работать для прямоугольных полигонов, я полагаю, что опорные кривые будут намного сложнее. И любое интеллектуальное оснащение начнет требовать обнаружения края и, возможно, некоторого машинного обучения. Помимо упрощенного обрезки, это становится трудным!