EZDraw++  1.2-6
Une mini-bibliothèque minimale pour réaliser un programme graphique en C++ sur Windows ou Linux

◆ rotate()

EZImage * EZImage::rotate ( double  theta,
int  quality 
) const

Construit une nouvelle image à partir d'une rotation de l’image courante.

Paramètres
thetal'angle de rotation en degrés.
qualitySi 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é.