位图Image.Save(Path,ImageCodedInfo,EncoderParams) - XP参数无效错误

时间:2013-08-10 14:37:42

标签: c# save-image

我查看了一些与我的问题有关的类似帖子,但到目前为止,“看起来”我的代码做的一切正确,我无法弄清楚为什么图片无法保存。

简单来说,我个人正在运行Windows7 Pro,当我在这里保存图像时,它工作得很好,一切都可以保存。在WindowsXP Pro Service Pack 3上安装此应用程序时出现问题。

我的客户无法保存图像,并且收到“参数无效”错误。也许有某种* .dll需要注册?我已经服用了2天,任何帮助都很棒!

这是代码

保存按钮

foreach (Image img in list)
{
    ImageCodecInfo myImageCodecInfo;
    System.Drawing.Imaging.Encoder myEncoder;
    EncoderParameter myEncoderParameter;
    EncoderParameters myEncoderParameters;

    myImageCodecInfo = GetEncoderInfo("image/tiff");

    myEncoder = System.Drawing.Imaging.Encoder.Compression;

    myEncoderParameters = new EncoderParameters(1);

    myEncoderParameter = new EncoderParameter(myEncoder, (long)EncoderValue.CompressionCCITT4);
    myEncoderParameters.Param[0] = myEncoderParameter;

    Bitmap image;
    image = new Bitmap(img);
    image =  image.Clone(new Rectangle(0, 0, image.Width, image.Height), PixelFormat.Format1bppIndexed);
    image.SetResolution(300, 300);

    // Manipulate what the Image Name is supposed to be here :
    string _temp = "0000000000";
    _temp += i;

    _temp = _temp.Substring(_temp.Length - 4, 4);

    // Save the Images to Year Folder
    try
    {
        image.Save(string.Format("\\" + "\\" + _ServerName + "\\DeedImages\\" + _YearDirectory + "\\" + _DocNbr + "-" + _temp + ".tif"), myImageCodecInfo, myEncoderParameters);
        //sImage.Save(string.Format("\\" + "\\" + _ServerName + "\\DeedImages\\" + _YearDirectory + "\\" + _DocNbr + "-" + _temp + ".tif"));

        result = _objRoutines.SaveAs_Database_Image(_DocNbr, i, DateTime.Now.Year.ToString() + "\\" + _DocNbr + "-" + _temp + ".tif");
        if (result != "Success")
        {
            MessageBox.Show(result + "\nPlease contact your software vendor!", "Internal Error", MessageBoxButtons.OK);
            return;
        }
        i++;
        image.Dispose();
    }
    catch (Exception ex) {
        MessageBox.Show(ex.Message + "\nPlease contact your software vendor!", "Uknown1 Error", MessageBoxButtons.OK);
        return;
    }
    i += 1;
}

我的Endcoder参数转换为(long)我找到的解决方案之一,但已经有了演员。 (“image / tiff”)有可能出现问题吗?

0 个答案:

没有答案