2010-08-13 35 views
4

我有一个C#应用程序,它使用System.Drawing.Graphics将二维图形渲染成位图。 我现在想要移植此应用程序,以便在windows上正常使用.net,在linux上使用,在Silverlight/Moonlight中使用。.net,单色和silverlight的图形库

但至少Silverlight缺少System.Drawing。由于我不想保留我的渲染代码的多个副本,所以我需要一个跨平台图形库。

我看到了几个备选方案以实现:

  1. 使用可用库在所有平台上
  2. System.Drawing中使用的端口Silverlight的
  3. 编写一个包装周围的图形库我自己的不同平台

我试图避免3)由于所需的工作。 那么有没有人知道1)或2)的免费库?图书馆应该有一个合理的许可证,即免费而不是GPL(LGPL很好)。

回答

3
  1. 没有哪个公共图书馆能够处理System.Drawing所做的一些事情。
  2. 这将是一个很少的回报的巨大承诺。
  3. 在这些选项中,这是唯一可行的选项。

我不确定你在做什么类型的图形,但你有没有考虑过XNA?我不知道它的Mono凭据,但通过Silversprite,您可能可以构建可为.NET和Silverlight编译的内容。