DLL崩溃了C#应用程序

时间:2013-10-26 11:11:41

标签: c# visual-studio-2012 dll

我的同事和我自己编写了一个DLL,我们现在正试图在另一个应用程序中使用它。当我们在使用网络摄像头时在我们的应用程序中使用该DLL的函数时,应用程序崩溃了。当我们复制并粘贴完全相同的代码时,应用程序可以工作。 如果我们使用的是图像而不是网络摄像头,那么它也适用于DLL。 我们制作了一个新的应用程序只是为了测试它,当使用该DLL时仍然无效。

我们真的很困惑,因为我们得到了不同的例外,我们真的不知道什么是错的。是否存在可能导致此问题的一般错误?有没有办法调试这个?

代码如下:

    private glyphRecognizer recognize = new glyphRecognizer();
    picturebox1.image = recognize.recognitionStep1_Grayscaling((Bitmap)picturebox1.image);

对于DLL:

    public Bitmap recognitionStep1_Grayscaling(Bitmap image)
    {
        BitmapData data = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadOnly, image.PixelFormat);
        UnmanagedImage originalImage = new UnmanagedImage(data);
        image.UnlockBits(data);

        //grayscaling
        UnmanagedImage grayImage = null;
        if (data.PixelFormat == PixelFormat.Format8bppIndexed)
        {
            grayImage = originalImage;
        }
        else
        {
            grayImage = UnmanagedImage.Create(originalImage.Width, originalImage.Height, PixelFormat.Format8bppIndexed);
            Grayscale.CommonAlgorithms.BT709.Apply(originalImage, grayImage);
        }
        return grayImage.ToManagedImage();
    }

0 个答案:

没有答案