я читал, но так и не понял, как этот MESH работает :(
я понял что это что-то про четырехугольники, но выше показано (гладкая что-ли?) деформация, с которой четырехугольники у меня в голове уж никак не умещаются
Ну лично я этой штукой не пользовался, однако, если бы встала такая задача, то всё скорее всего работало примерно так:
- Нарисованное у вас в картинке искажение задётся деформацией границы изображения сплайнами. Есть исходная геометрия и есть искаженная целевая.
- Второй этап - это построение на основе этого искажения непрерывного векторного поля. Грубо говоря путём интерполяции каждому пикселю картинки ставится в соответствие вектор, указывающий куда этот пиксель должен уехать. Хотя логичнее строить наоборот, для каждого пикселя целевой картинки строить вектор откуда следует брать цвет этого пикселя. Очевидно что эти варианты векторного поля друг в друга могут быть пересчитаны. Вот это векторное поле, как я понял, и есть mesh.
- Третий этап - применить векторное поле к реальным пикселям.
- PROFIT!!!!
Wynell_ru, судя по тому, что написано в документации, в этот метод передаётся список сопоставлений прямоугольников исходной и новой картинки. Вам нужно такую таблицу построить для своей деформации. Не знаю поддерживаются ли там дробные координаты (толку от такого метода мало, если нет), я бы попробовал задать каждый пиксель результирующей картинки как отдельный прямоугольник и посчитал бы куда он мапится на исходной картинке. Каждое такое сопоставление записывал бы в список и отдал потом для трансформации.
Как посчитать трансформацию - это отдельный вопрос. Гуглите по словам "spline warp distortion"
Сергей Паньков, то бишь первый параметр это ПРЯМОУГОЛЬНИК, который искажаем, а второй параметр это ЧЕТЫРЕХУГОЛЬНИК, в который эту область трансформируем, так?
Wynell_ru, Ну там вроде эти координаты углов единым списком идет в каждом элементе. Надо читать доки и пробовать. Вы читали? Примеры пробовали? Или нужно за вас это делать?