Чтобы добиться подобного эффекта, вы хотите попробовать наложение текстур, и вам нужны 2d-3d подразделения и математические навыки.По сути, идея состоит в том, чтобы разделить текстуру на треугольники и сопоставить их с 2-й координатой, используя матрицу преобразования.Проще сначала начать с прямоугольников, а затем использовать вашу изогнутую форму, но я тоже новичок в этом, так что я не знаю, действительно ли используется наложение текстуры вообще для изгибания изображения.Вот пример простого наложения текстур: Работа с изображениями и наложение текстур с использованием HTML5 Canvas? .
В вышеупомянутой ссылке есть эта подфункция:
n the following code I assume you have a picture object texture and 4 corners each of
which is an object with fields x,y,u,v where x,y are pixel coordinates on the target canvas and u,v are pixel coordinates on texture:
IMO, этой информации достаточно, чтобы начать с наложения текстур.