2010-02-04 50 views
5

我正在寻找一些绘图类(包),这将使我能够以简单的方式绘制如下图像。使用.NET绘图

alt text http://www.freeimagehosting.net/uploads/e96ab74410.jpg

我有绘画,所以我会很高兴听到的建议没有经验。

My pic link

+0

判断你的拒绝GDI +,你的意思是一个CAD绘图库? – Jimmy 2010-02-04 10:09:15

+0

是听起来很有意思,你可以建议我一些什么 – 2010-02-04 10:58:24

+0

就像我在这里想的那样,我真的对互动的东西感兴趣 – 2010-02-04 11:00:03

回答

5

看一看在System.Drawing namespace的GDI +类。

编辑:我真的不确定你是什么意思,当你不断要求更抽象的图书馆。这些类如何不够抽象? Graphics.DrawLine()Graphics.FillEllipse()等。

除非你想要做点什么很具体特别的,比如图表,除此之外没有其他抽象。你确实想画线,多边形,矩形等,不是吗?

你能解释一下你想要的抽象吗?在伪代码?

+0

GDI +太低了,因为我理解它。我正在看比较抽象的东西。 – 2010-02-04 09:51:54

+0

这不是*低*级。你有没有在我寄给你的链接中检查过课程?特别是'Graphics'类,它包含'DrawEllipse()','DrawPolygon()','DrawLine()','FillRectangle()'等方法。 'DrawNicePicture()'? – 2010-02-04 10:01:06

0

GDI +绝对是一个不错的选择。根据您的应用程序限制,您还可以查看WPF和Silverlight(分别适用于Windows/Web),因为您可以单独在XAML中执行一些复杂的绘图和动画。

0

GDI +绝对是要走的路,你的其他选择是Direct3D或OpenGL。既然你拒绝了GDI +,那么也要重新解决Direct3D和OpenGL的想法。

GDI +是非常抽象的,它非常容易设置,一旦你习惯了用lib来绘制的方式,你会发现它非常简单。

+0

我正在寻找一些抽象库,我不想像在GDI +中那样使用brasher来绘图。 – 2010-02-04 10:02:40

0

转到Paint.NET 3.5并下载源代码,玩它,你可能会很好地抓住你想要的东西。

+0

Paint.NET 3的源代码。5不提供**,但老版本的Paint.NET的源代码可以在别处找到。见例如http://stackoverflow.com/questions/9603/what-is-some-great-source-code-to-read/9663#9663 – 2010-02-04 10:12:53

0

如果您不需要用户交互进行绘图,并且您直接通过代码从不同源获取几何信息的代码创建图像,那么您可能会考虑创建svg文件并显示它们。

我对当前项目使用这种方法,我想要显示建筑物的拓扑结构。我通过API从Autodesk Revit获取几何图形,然后在svg中创建拓扑图。由于svg是xml,所以很容易操作。由于它是基于矢量的,因此您可以实现的功能不受限制。 BTW Inkskape是一个开源矢量grafik编辑器,它可以帮助你找出如何在svg中表示更复杂的想法。

只是我的两分:-)