У меня есть приложение, которое отображает изображение внутри элемента управления Windows Forms PictureBox
. Элемент SizeMode
элемента управления установлен в Zoom
, так что изображение, содержащееся в PictureBox
, будет отображаться с правильной точностью, независимо от размеров PictureBox
.Как перевести с координаты экрана на координаты пространства изображения в WinForms PictureBox?
Это отлично подходит для визуального внешнего вида приложения, поскольку вы можете размер окна, но вы хотите, и изображение всегда будет отображаться с использованием наилучшего соответствия. К сожалению, мне также нужно обрабатывать события щелчка мыши на окне изображения и им нужно иметь возможность переводить из координаты экранного пространства в координаты пространства изображения.
Похоже, что это простое преобразование из пространства экрана для управления пространством, но я не вижу никакого очевидного способа перевода из пространства управления в пространство изображения (то есть координаты пикселя в исходном изображении, которое было масштабировано в картинка).
Есть ли простой способ сделать это, или я просто дублирую математику масштабирования, которую они используют внутри, чтобы разместить изображение и сделать сам перевод?
Привет, было бы здорово увидеть образец кода, который вы собрали вместе, если у вас все еще есть это. – 2009-07-30 14:58:53