簡體   English   中英

在C#中,Java的canvas對象有什么用呢?

[英]What is the equivalent to Java's canvas object in C#?

我正在創建一個基本的應用程序,讓用戶繪制(使用一系列點),我打算用這些點做點什么。

如果這是Java,我想我可能會使用canvas對象和一些Java2D調用來繪制我想要的東西。

我在C#/ Drawing上閱讀的所有教程都涉及編寫自己的繪制方法並將其添加到表單的繪圖事件中。 但是,我也有興趣使用一些傳統的Form控件,我不想畫它們。 那么,是否有一個“畫布”對象,我可以約束我正在繪制的東西?

另外,考慮到這個用例,WinForms是一個糟糕的選擇嗎? WPF會有更多功能可以幫助我做我想做的事嗎? 還是Silverlight?

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

好吧,在WPF中有一個名為“canvas”的控件可能適合你。 如果您使用的是Windows窗體,我認為最好的選擇是繪制面板控件。 Windows窗體絕不是一個糟糕的選擇。 實際上,在使用它們時,您甚至可以開發跨平台應用程序。 但是,WPF在某種程度上更“富有”。 我認為,如果你不是針對任何其他平台,並且你不必堅持使用.NET 2.0 WPF是一個首選(特別是,如果你要在你的應用程序中使用一些圖形,因為WPF使用硬件加速)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM