2010-03-31 2 views
3

Я работаю над созданием базового приложения, которое позволит пользователю рисовать (используя ряд точек), и я планирую что-то сделать с этими точками.Что такое эквивалент объекта canvas Java в C#?

Если бы это была Java, я думаю, что, вероятно, я бы использовал объект canvas и некоторые вызовы Java2D для рисования того, что я хочу.

Все учебники, которые я прочитал на C#/Drawing, включают в себя запись собственного метода рисования и добавление его в событие рисования для формы. Тем не менее, я заинтересован в том, чтобы иметь некоторые традиционные элементы управления Form, а также я не хочу рисовать их. Итак, есть ли объект «Canvas», где я могу ограничить то, что я рисую?

Кроме того, является ли WinForms плохим выбором, учитывая этот прецедент? Будет ли WPF больше возможностей, которые помогут мне сделать то, что я хочу? Или Silverlight?

ответ

0

Ну, в WPF есть control, называемый «холст», который может вас устроить. Если вы используете Windows Forms, я думаю, что лучшим выбором будет рисовать элемент управления panel. Формы Windows никоим образом не являются плохим выбором. Действительно, при их использовании вы даже можете разработать кросс-платформенные приложения. Однако WPF в какой-то мере более «богата». Я думаю, что если вы не нацелены на какие-либо другие платформы, и вам не обязательно придерживаться .NET 2.0, то предпочтительным вариантом будет WPF (особенно, если вы собираетесь использовать некоторую графику в своем приложении, поскольку WPF использует аппаратное ускорение).

2

Bitmap будет работать нормально, отображать его с помощью свойства PictureBox.Image. Используйте Graphics.FromImage(), чтобы получить объект Graphics, который вам нужно будет рисовать по растровому изображению. Используйте PictureBox.Invalidate(), чтобы PB знал, что ему нужно обновить изображение на экране.

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