Bonjour j'ai un problème, je veux afficher un zoom une image : en gros pour afficher mon image,

- j'affiche seulement des points générés compris entre l'intervalle [-2,2] * [-1.25,1,25], donc pour afficher plus gros je dois réduire l'écart par exemple :

[-1.75,1.75]*[-1,1]. Et la de cette manière ce sera zoomé par rapport au centre de l'image par rapport au point (longueurfenetre/2,hauteurfenetre/2).

- Moi je veux zoomé par rapport à un autre point (abs,ord), il faut que je transvecte mes intervalles, mais vu que ce sont des intervalles j'ai du mal à remettre à l'échelle.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
/**
 * \brief Exposition du zoom
 * \details  Enregistre une nouvelle mise à l'échelle.
 * 
 * INPUT: ordonnée et abscisse du centre de la zone à changer d'échelle
 * OUTPUT: --
 * 
 * 
 *
 */ 
void win1_on_expose_zoom_mandelbrot(int abs, int ord,Ez_event *ev)
{
		double h = 0.1;
		t_App_data *app = ez_get_data(ev->win);
 
		app->xmin = app->xmin+h;/**    mise à l'échelle xmin                       */
		app->xmax = app->xmax-h;/**    mise à l'échelle xmax                        */
		app->ymin = app->ymin+h;/**    mise à l'échelle ymin                        */
		app->ymax = app->ymax-h;/**    mise à l'échelle ymax                        */
 
 
}
Je vous mets le code que j'ai fait pour l'instant je n'arrive que à zoomer autour du centre. Et il y a quelques spécificités par rapport à l'outil graphique que j'utilise.

Je vous remercie