Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рисование мышкой в масштабе, Рисование мышкой в масштабе 
:(
    Опции темы
amik
Дата 27.1.2009, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.1.2009

Репутация: нет
Всего: нет



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

Это сообщение отредактировал(а) amik - 27.1.2009, 20:07
PM MAIL   Вверх
slavaentp
Дата 29.1.2009, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 17.6.2008

Репутация: нет
Всего: -1



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

нужно изменять GraphicsUnit соответственно зуму?
PM MAIL   Вверх
Лен
Дата 29.1.2009, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 20.1.2009

Репутация: нет
Всего: нет



Изменение GraphicsUnit тут не поможет - он нужен для корректного копирования изображений между устройствами с различными координатными системами.
1. Для прорисовки изображения используй DrawImage-методы из группы .DrawImage(Image, Rectangle, int, int, int, int, ...) - в результате изображение будет автоматически отмасштабировано. Для этого, правда, придётся самому определять, с каких именно координат производить копирование в данный момент.
2. При обработке событий мыши не забывай выполнять обратное преобразование координат (т.е. проецировать положение курсора мыши на нужные координаты исходного изображения).
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0375 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.