gpt4 book ai didi

C# Mono {new Bitmap ("fileName");} 卡在 OSX 上

转载 作者:太空狗 更新时间:2023-10-29 20:25:06 25 4
gpt4 key购买 nike

当尝试使用 System.Drawing.Bitmap 对象的单声道版本在 OSX 10.7.3 上加载“.bmp”、“.png”或“.jpg”时,应用程序会挂起。我没有收到任何错误,应用程序只是停留在位图构造函数上...

当我在 (Arch)Linux 或 Windows 上运行相同的代码时,一切正常。

public static void Main (string[] args)
{
using (var bitmap = new Bitmap("/....../image.bmp"))
{

}

Console.WriteLine ("Hello World!");// Never gets here...
}

如果我在 Debug模式下暂停应用程序,它会打开“反汇编”窗口并显示它卡在这一行:

call Status System.Drawing.GDIPlus:GdiplusStartup (UInt64, GdiplusStartupInput, GdiplusStartupOutput)

注意:在 Debug模式下暂停应用程序几次后,它在编写此代码时“神奇地”开始工作。我保证我没有更改任何代码。任何人都知道什么会导致“System.Drawing.GDIPlus”挂起所以我知道如何避免它?是否有单声道代码设置文件或可能导致 bin 困惑的文件?

最佳答案

问题只是性能。它与您的代码无关;图像只是需要更长的时间来加载。
Mono 的 System.Drawing 实现只是一个 C# 包装器,有点不完整,没有(或错误地)提供 System.Drawing 中的所有功能。它可能在 Windows 中运行良好,因为它使用 native GDIPlus.dll 但在基于 unix 的系统中可能运行不佳,因为它使用 Cairo 引擎。您可以找到更多信息here .

关于C# Mono {new Bitmap ("fileName");} 卡在 OSX 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9423560/

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