Fonction Optimiser(NulAbsorbant) Projeter(TablePoints : Nul Ou TableauDe Nul Ou Point, CouleurTrou : Nul Ou Couleur, C : Booleen=Faux, M : Nul Ou MasqueDessin=Nul) Retourner Nul Ou IImage;
Si le quadilatère est un parallèlogramme, alors l'image est inclinée. Si le quadilatère est un trapèze, alors l'image est projetée en suivant la ligne de fuite que ce premier défini.
Le trou apparaissant suite à la projection de l'image est rempli par la couleur CouleurTrou.
Si le paramètre M est non Nul, alors seuls les pixels decalqués au travers de ce masque sont impactés par cet appel.
Si le paramètre C a pour valeur Vrai, alors l'image courante est copiée avant l'opération. Ainsi l'image courante est inchangée.
Le résultat est l'image une fois le contenu de l'image changé.
Si TablePoints ou CouleurTrou sont Nul, alors le résultat est Nul.
En cas d'erreur, l'exception OperationImageImpossible est envoyée.
Principal
/*******/
Variable
/******/
I : Nul Ou IImage;
T : Nul Ou Tableau[4] De Nul Ou Point;
R : Nul Ou Rectangle;
Debut
...
T[0]=Point(50,75);
T[1]=Point(300,50);
T[2]=Point(300,200);
T[3]=Point(50,175);
R=Rectangle(Point(50,50),Point(300,200));
I=I.Projeter(T,MasqueDessin(R));
/* Projette le rectangle sur le trapèze. */
...
Fin Principal
- | - | - | - | - | - | - | - | - |