2010-03-31 74 views
3

我正在創建一個基本的應用程序,可以讓用戶繪製(使用一系列點),並且我計劃對這些點進行一些操作。在C#中,Java的畫布對象等價於什麼?

如果這是Java,我想我可能會使用畫布對象和一些Java2D調用來繪製我想要的。

我在C#/ Drawing上讀過的所有教程都涉及編寫自己的繪畫方法並將其添加到窗體的paint事件中。不過,我有興趣也有一些傳統的表單控件,我不想畫他們。那麼,是否有一個「Canvas」對象可以約束我正在繪製的對象?

此外,鑑於此用例,WinForms是一個糟糕的選擇嗎? WPF是否有更多的功能可以幫助我做我想做的事情?還是Silverlight?

回答

0

那麼,在WPF中有一個名爲'canvas'的control可能適合你。如果您使用的是Windows Forms,我認爲最好的選擇是使用panel控件。 Windows窗體絕不是一個糟糕的選擇。事實上,使用它們時,你甚至可以開發一個跨平臺的應用程序。但是,WPF在某種程度上更「富有」。我認爲,如果你不瞄準任何其他平臺,並且不需要堅持使用.NET 2.0,那麼WPF是首選(尤其是,如果你要在應用程序中使用某些圖形,因爲WPF使用硬件加速)。

2

位圖將正常工作,顯示它與PictureBox.Image屬性。使用Graphics.FromImage()獲取您需要在位圖上繪製的Graphics對象。使用PictureBox.Invalidate()讓PB知道它需要更新屏幕上的圖像。

相關問題