Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Рисование мышкой в масштабе


Автор: amik 27.1.2009, 20:06
Отрисовываю в событии OnPaint карту bitmap при помощи DrawImage. При этом с помощью мышки (MouseMove) рисую на самой карте линии и другие фигуры. В общем всё стандартно.
Подскажите, как мне при масштабировании карты на область вывода рисовать мышкой увеличенные пиксели в zoom-раз по строгой сетке, как это сделано в Microsoft Paint.
ps: за исподниками Paint.NET не посылать smile я только начал изучать C#, поэтому эту кучу файлов я буду разбирать месяца  smile 

Автор: slavaentp 29.1.2009, 02:02
Я тоже новичок, поэтому хоть подсказать могу и неправильно, но зато тему подниму smile :

нужно изменять GraphicsUnit соответственно зуму?

Автор: Лен 29.1.2009, 09:31
Изменение GraphicsUnit тут не поможет - он нужен для корректного копирования изображений между устройствами с различными координатными системами.
1. Для прорисовки изображения используй DrawImage-методы из группы .DrawImage(Image, Rectangle, int, int, int, int, ...) - в результате изображение будет автоматически отмасштабировано. Для этого, правда, придётся самому определять, с каких именно координат производить копирование в данный момент.
2. При обработке событий мыши не забывай выполнять обратное преобразование координат (т.е. проецировать положение курсора мыши на нужные координаты исходного изображения).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)