【问题标题】:System.Windows.Media.Imaging.WriteableBitmap vs System.Drawing.ImageSystem.Windows.Media.Imaging.WriteableBitmap 与 System.Drawing.Image
【发布时间】:2017-10-26 07:24:20
【问题描述】:

谁能快速比较一下System.Windows.Media.Imaging.WriteableBitmapSystem.Drawing.Image 的优缺点?

我为什么要问,因为我有一个程序/api,我基本上可以在其中选择我想使用的。

例如,我知道并非两者都可以绑定到相同的控件,但我对“引擎盖下”的内容更感兴趣。

我想使用的 api 用于显示“实时”/“快速”图像,因此 fps 约为 20-30(如果这对比较很重要的话)。

【问题讨论】:

  • 所以你是在要求某人编写并运行一个测试来比较两个类的运行时性能?
  • 不,我正在寻找最佳实践/经验
  • 它们只是两个非托管图形库的包装器。 Image 封装了 GDI+,这是一个可追溯到 ~1999 年的库。 WriteableBitmap 封装了 GDI+ 的继承者 WIC。 WIC 有更好的错误报告,可以处理更大的位图。然而,正确使用它要困难得多,它没有 Dispose() 方法。实际上,您需要一个 WPF 应用程序来避免内存使用问题,尽管程序员 struggle with that problem.

标签: c# .net image-processing types


【解决方案1】:

好吧,如果你想进入低级别(好吧,它仍然是 c# 而不是 c++),但可写位图允许锁定位图数据,以针对它运行一些不安全的代码(通常图形内容需要超快速的脏技巧逻辑处理)

因此,如果您打算降低水平,使用指针和步幅,那么我会去做。顺便说一句,您可以创建函数来交换格式,如果您只想显示图像,可以旋转或翻转它,或者考虑将流数据显示到图像中,我会选择另一个。

【讨论】:

    猜你喜欢
    • 2015-11-24
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2022-11-18
    • 2022-01-24
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    相关资源
    最近更新 更多