
Rendering graphics in C#除了GDI和XNA之外,还有其他方法可以用C#渲染图形吗? (用于瓷砖地图编辑器的开发。) SDL.NET是我喜欢的解决方案。如果需要3D,可以使用Tao.OpenGL在其中进行渲染。它是快速的行业标准(即SDL)和跨平台的产品。 是的,我编写了一个Windows Forms控件,该控件packageDirectX 9.0并提供了对视频表面的直接像素级操作。 我实际上在Stack Overflow上写了另一篇文章,询问是否还有其他更好的方法:不安全的C#和2D渲染的指针,好还是坏? 尽管它具有较高的性能,但它需要使用不安全的编译器选项,因为它使用指针来有效地访问内存。因此,发表此较早文章的原因。 这是必不可少的必要步骤: Microsoft DirectX程序集。 (窗口式,后退缓冲等)。 当前显示模式(每像素位数)。 Surface并将返回的指针存储到Surface的起点 记忆。 基于表面间距的数据 每像素位数和实际的x / y像素坐标。 请注意,采用这种方法时,您需要非常仔细地检查目标表面的当前显示模式(每像素的间距和位数)。另外,在程序运行时,您还需要制定策略来处理窗口大小调整或屏幕格式更改。
您可以尝试使用Visual Studio和/或Expression Blend查看WPF。我不确定您要提高的水平,但是它应该能够处理一个简单的编辑器。查看此MSDN文章以获取更多信息。 开罗是一个选择。我目前正在使用GDI和Cairo重写我的地图软件。除其他功能外,它还具有切片地图生成器。 您可能会研究Cairo图形库。 Mono项目具有C#的绑定。 |