|
|
◆ rotate()
| EZImage * EZImage::rotate |
( |
double |
theta, |
|
|
int |
quality |
|
) |
| const |
Construit une nouvelle image à partir d'une rotation de l’image courante.
- Paramètres
-
| theta | l'angle de rotation en degrés. |
| quality | Si quality = 1, l’algorithme utilisé lisse le résultat (avec une interpolation bilinéaire) ; si quality = 0, l’algorithme privilégie la rapidité (avec un calcul de plus proche voisin), ce qui permet de gagner environ un facteur 3. |
- Renvoie
- Une nouvelle instance de EZImage allouée dynamiquement (et qui devra être détruite grâce à l'opérateur delete) ou nullptr en cas d’erreur. La taille de l'image est ajustée pour contenir le résultat. Dans l’image résultat, le champ has_alpha est mis à 1, et les parties ne provenant pas de l’image source sont transparentes ; le but est qu’elles n’apparaissent pas lors de l’affichage.
- Note
- Le résultat étant indépendant du centre de rotation, il n’est pas demandé en paramètre.
- Voir également
- void rotatePoint(double theta, int src_x, int src_y,int& dst_x, int& dst_y);
- Note
- L’exemple demo++16 illustre les rotations, sans ou avec transparence. Le centre de rotation (croix rouge) est déplaçable avec les flèches. On peut aussi modifier la qualité.
|