繁体   English   中英

C#上的FreeImage

[英]FreeImage on C#

我已经下载了FreeImage的最新编译版本,然后构建了FreeImageNet包装器。 将FreeImage.dll和FreeImageNet.dll放在与我的可执行文件相同的文件夹中(示例代码)。 但是每次我运行它都会说freeimage.dll丢失了。 我修改了FreeImageWrapper.cs上的代码并删除了异常处理程序

public static bool IsAvailable()
        {
            /*try
            {*/
                // Call a static fast executing function
                Version nativeVersion = new Version(GetVersion());
                Version wrapperVersion = GetWrapperVersion();
                // No exception thrown, the library seems to be present
                return
                    (nativeVersion.Major > wrapperVersion.Major) ||
                    ((nativeVersion.Major == wrapperVersion.Major) && (nativeVersion.Minor > wrapperVersion.Minor)) ||
                    ((nativeVersion.Major == wrapperVersion.Major) && (nativeVersion.Minor == wrapperVersion.Minor) && (nativeVersion.Build >= wrapperVersion.Build));
            }
            /*catch (DllNotFoundException)
            {
                return false;
            }
            catch (EntryPointNotFoundException)
            {
                return false;
            }
            catch (BadImageFormatException)
            {
                return false;
            }*/

        }

它总是抛出BadImageFormatException。 看来问题出在本机dll(freeimage.dll)上?

我如何解决它 ?

提前致谢。

我正在使用Visual C#2010 Express

如果您尝试将非托管32位dll加载到64位进程中,则会经常发生这种情况。 要解决此问题,请打开启动项目的属性,并在Built-PlatformTarget下更改从Any CPUx86的类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM