Je suis en train de créer un programme graphique et je suis coincé là où j'ai besoin d'obtenir les coordonnées de la souris pour obtenir une échelle graphique égale. Avec picturebox j'utilise une transformation à l'échelle de mon graphique:Transformer les coordonnées de la souris
RectangleF world = new RectangleF(wxmin, wymin, wwid, whgt);
PointF[] device_points =
{
new PointF(0, PictureBox1.ClientSize.Height),
new PointF(PictureBox1.ClientSize.Width, PictureBox1.ClientSize.Height),
new PointF(0, 0),
};
Matrix transform = new Matrix(world, device_points);
gr.Transform = transform;
Im en utilisant la fonction MouseMove. Y a-t-il un moyen de transformer les coordonnées de la souris? Quand je mets ma souris sur x = 9 Je dois ma souris de coordonnées à 9.
private void PictureBox1_MouseMove(object sender, MouseEventArgs e)
{
Console.WriteLine(e.X);
}
Ne perdez pas la trace de * transform *. Vous aimerez sa méthode Invert(), pratique pour mapper les coordonnées de la souris en coordonnées graphiques. –