Tengo una aplicación que muestra una imagen dentro de un control de Windows Forms PictureBox
. El SizeMode
del control está configurado en Zoom
para que la imagen contenida en PictureBox
se muestre de forma correcta independientemente de las dimensiones del PictureBox
.¿Cómo debo traducir las coordenadas del espacio de la pantalla a las coordenadas del espacio de la imagen en un PictureBox de WinForms?
Esto es ideal para la apariencia visual de la aplicación porque puede ajustar el tamaño de la ventana como desee y la imagen siempre se mostrará con su mejor ajuste. Desafortunadamente, también necesito manejar los eventos de clic del mouse en el cuadro de imagen y necesito poder traducir las coordenadas del espacio de la pantalla a las coordenadas del espacio de la imagen.
Parece que es fácil traducir del espacio de la pantalla al espacio de control, pero no veo ninguna forma obvia de trasladar del espacio de control al espacio de la imagen (es decir, la coordenada de píxel en la imagen fuente escalada en el cuadro de imagen).
¿Hay una manera fácil de hacer esto, o debería simplemente duplicar las matemáticas de escala que están utilizando internamente para colocar la imagen y hacer la traducción yo mismo?
Hola, sería genial ver una muestra del código que juntas si todavía tienes a mano. –
Claro, lo edité en mi respuesta – fastcall