gpt4 book ai didi

c# - WPF 中的大型位图操作

转载 作者:行者123 更新时间:2023-11-30 17:19:50 25 4
gpt4 key购买 nike

WPF 是否能够操作 GDI+ 由于内存限制而无法操作的大型位图?

我的位图很容易达到 10,000x10,000,甚至可以比这大得多。最坏的情况我认为我可以将单个位图分解成大块并使用我猜的。

我基本上需要做四件事

  1. 拍摄一组平铺图像
  2. 将所有这些图 block 放入单个位图中
  3. 将位图转换为黑白
  4. 扫描位图寻找从黑色到白色的变化

我知道如何在 GDI+ 中做这些事情,但我遇到的问题是我的位图大小对于我正在使用的机器来说太大了,它导致程序崩溃,我无法制作图像再小一些,所以我希望 WPF 能够在 GDI+ 让我失望的地方取得成功。

最佳答案

我认为 WPF 无法在这方面为您提供帮助。

为什么要使用位图对象?您也可以使用二维字节数组或 double 组(或任何其他类型,具体取决于您需要的精度和范围),尤其是当您仅使用一个 channel 时。位图具有具有巨大计算开销的访问器方法(GetPixel 等),使用数组的速度要快几个数量级(我从个人经验中知道),唯一的问题是你不能按原样显示它们(你必须将数组转换回图像,这非常简单)。但由于您似乎想对数据进行某种分析,我认为数组更适合您的需求。

如果需要,我可以发布代码示例,详细说明从位图(WPF 或 WinForms)到数组的转换。

但请记住,32 位 .NET 应用程序可以使用大约 1.2-1.4 GB 的内存 - 您必须适应这个空间,否则您将开始遇到 OutOfMemory 异常。

关于c# - WPF 中的大型位图操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4560113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com