Результаты поиска
Как я должен перевести координаты пространства экрана в координаты пространства изображения в A WinForms PictureBox?
У меня есть приложение, которое отображает изображение внутри элемента управления Windows Forms PictureBox . Значение SizeMode элемента управления равно Zoom , так что изображение, содержащееся в PictureBox , будет отображаться корректным образом независимо от размеров PictureBox .
Это отлично подходит для визуального вида приложения, потому что вы можете изменить размер окна, как вы хотите, и изображение всегда будет отображаться с использованием его наилучшего соответствия. К сожалению, мне также нужно обрабатывать события щелчка мыши на изображении и нужно иметь возможность переводить координаты пространства экрана в координаты пространства изображения.
Похоже, что легко перевести из пространства экрана в пространство управления, но я не вижу очевидного способа перевести из пространства управления в пространство изображения (т. е. координату пикселя в исходном изображении, которая была масштабирована в поле изображения).
Есть ли простой способ сделать это, или я должен просто дублировать математику масштабирования, которую они используют внутри, чтобы позиционировать изображение и выполнять перевод самостоятельно?
Как сделать так, чтобы PictureBox использовало пересчет ближайших соседей?
Я использую StretchImage, потому что коробка может быть изменена с помощью сплиттеров. Похоже, что по умолчанию используется какая-то гладкая билинейная фильтрация, в результате чего мое изображение становится размытым и имеет муаровые узоры.