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.
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.
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 remercie
Partager