Le code est simple, mais demande pas mal de ressource (tout dépend de votre gourmandise en fait). Lorsqu'on déplace les coins de l'images, celle-ci est analysée (BitmapData.getPixel) et reproduite en déformant les pixels (le code refait chaque pixel un par un).
Le résultat est vraiment sympa. Dans cette exemple, 1 coin bouge aléatoirement, les 3 autres tournent sur eux mêmes. Au bout d'un tour, toutes les images calculées depuis le début sont affichées les unes à la suite des autres (histoire d'avoir une petite animation sympa). Par contre, en raison du cacheAsBitmap, il faudra attendre 1 tour complet (une fois les images calculées, donc 2 tours au total) pour avoir une animation fluide.
Il est possible de modifier certains paramètres, comme la précision. PrecX et PrecY sont les variables responsables de la précision.
PrecX représente "le nombre de pixel utilisé pour reproduire l'image, sur l'axe des X (horizontale)".
PrecY représente "le nombre de pixel utilisé pour reproduire l'image, sur l'axe des Y (verticale)".
Donc plus PrecX (respectivement PrecY) est proche de la largeur (de la hauteur) de l'image, plus le résultat sera fidèle à l'original, mais plus le temps de calculs sera long.
Dans l'exemple, j'ai mis une précision globale à 0.5 (ça veut dire qu'on calcul un pixel sur 2 seulement).
J'ai mis initié parce que c'est pas assez facile pour un débutant. Il faut quand même commencé à comprendre un code AS sans avoir à se servir de l'aide ;)
L'image est libre de droit :)