【问题标题】:WIndows universal app with system.drawing and possible alternative带有 system.drawing 和可能的替代方案的 WIndows 通用应用程序
【发布时间】:2015-07-21 17:07:19
【问题描述】:

我正在开发一个 Windows 通用应用程序,我需要使用 Bitemap,但是

我似乎无法引用 System.Drawing,

为什么 windows 通用应用程序不能引用这个 dll,我有什么替代方案?

编辑 关于如何在通用应用程序中使用我已经编写的过滤库(取决于 system.drawing)的任何建议?

Tnx

【问题讨论】:

  • 您必须停止尝试,您不能在通用应用程序中使用该命名空间。它不是通用的。请改用 Windows.UI.Xaml.Media.Imaging 命名空间。
  • 你想用它做什么?替代方案取决于您的目标。
  • @Passant tnx alt;我正在构建一个图像过滤应用程序。为此我需要操作 Bitmap 对象 - 仍然支持吗?
  • 我已经编辑了我的问题 - 请回复一个答案,以便我标记它

标签: windows system.drawing windows-10 win-universal-app


【解决方案1】:

System.Drawing 是使用 GDI+ 的 .NET 命名空间。此技术不适用于 Windows 应用商店应用程序或通用 Windows 应用程序。见.NET for Windows apps

您可以将Win2D 项目用于 WinRT 包装器,该包装器可从 C# 用于使用 Direct2D/DirectWrite 进行绘图,Windows Store 应用程序和 UWP 也支持这些包装器。 见Introducing Win2D: GPU accelerated 2D graphics programming in the Windows Runtime

您可以使用SharpDX,它为 Direct2D、DirectWrite 和 Windows 映像组件 (WIC) 提供包装器。

简而言之:您不能在通用 Windows 应用程序中使用利用 System.Drawing 的现有库。

【讨论】:

  • Tnx,虽然很遗憾.. 有什么办法可以解决吗?
  • 重写库以使用受支持的东西。
  • 这些例子似乎只是展示了画布的使用。我只需要编辑内存中的文件,无需向用户显示:/.
【解决方案2】:

Cross platform System.Drawing

这可能无法直接解决问题。该项目使 System.Drawing 可用于 Linux 和 Mac osX10。支持 UWP 平台有助于在将代码从 WinForm 移植/测试到 UWP 时过渡到 Windows.UI。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多