2012-08-18 3 views
0

Итак, я использую этот код для отображения изображения для приложения, над которым я работаю.Как обрезать и масштабировать форму

e.Graphics.DrawImage(global::Map.Properties.Resources.bigmap, 0, 0, 980, 980); 

Это, в свою очередь, дает мне это. (Редактировать: новые ребята не могут размещать изображения. Извините, но вы можете просмотреть его здесь. Map)

Что приятно и все, что касается разрешения около 3500X3500, я хотел бы иметь возможность масштабировать и панорамировать его. Итак, есть ли способ сделать это?

ответ

0

Быстрый и грязный метод? Сохраните изображение во внешний файл и откройте его в элементе управления WebBrowser. Обеспечивает встроенное панорамирование и масштабирование. В противном случае вам нужно будет захватить движения мыши, обработчики колесиков прокрутки и т. Д. ... Все это можно сделать, но гораздо больше работать. Чтобы сохранить изображение, от того, что я могу сказать из своего кода, просто:

Map.Properties.Resources.bigmap.Save(System.Environment.CurrentLocation + "\\temp.bmp"); 
MapWebBrowser.Navigate(System.Environment.CurrentLocation + "\\temp.bmp"); 

Извинения, если код не работает из коробки, но она должна быть хорошей отправной точкой. У меня нет копии C# со мной прямо сейчас. Дайте мне знать, если вам нужно больше объяснений. (Необходимо добавить MapWebBrowser, это просто WebBrowserControl).

1

Я столкнулся с этой проблемой в эту же неделю.

Попробуйте что-нибудь like this. Это сработало для меня.

+0

Можете ли вы объяснить мне, как я конвертирую из того, что у меня есть в окне изображения? Я прошу прощения, мой опыт работы с C# ограничен. –

+0

Похоже, вы включаете свое изображение в качестве Ресурса. Итак, чтобы реализовать код Smallwisdom в вашей ситуации, посмотрите файл Form1.cs, строки 130 и 131. Там он берет изображение из «Open File Dialog». Вместо этого вы будете использовать свое изображение ресурсов. Что-то вроде этого: 'zoomPanImageBox1.Image = ZoomPanExample.Properties.Resources.bigmap;' – davehale23

Смежные вопросы