2013-05-18 37 views
0

我不知道我做错了,我一直在寻找网络,并尝试了很多不同的东西,但没有任何作品,当我尝试保存图像有很多灰点C#图像保存点

结果可以在这里看到
http://postimg.org/image/btvob8f6l/

public static void ExifSave(List<InfoList> data) 
    { 
     ImageCodecInfo jgpEncoder = GetEncoder(ImageFormat.Jpeg); 
     System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; 
     EncoderParameters myEncoderParameters = new EncoderParameters(1); 
     EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); 
     myEncoderParameter = new EncoderParameter(myEncoder, 100L); 
     myEncoderParameters.Param[0] = myEncoderParameter; 

     list = data; 
     foreach (InfoList i in data) 
     { 
      SetProperty(ref prop, i.id, i.value); 
      image.SetPropertyItem(prop); 
     } 
     fs.Dispose(); 
     try 
     { 
      image.Save(Path); 
     } 
     catch (Exception e) 
     { 
      new MessagePromt("DEBUG::LoadImages()::Error attempting to create image::" + e.Message, e.Message); 
     } 
    } 
    private static ImageCodecInfo GetEncoder(ImageFormat format) 
    { 
     ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders(); 
     foreach (ImageCodecInfo codec in codecs) 
     { 
      if (codec.FormatID == format.Guid) 
      { 
       return codec; 
      } 
     } 
     return null; 
    } 
+0

用小得多的图像进行测试,看看数据包含了什么。 – SimpleVar

+0

图像对象的类型是什么? –

+0

system.drawing.bitmap – Narzul

回答

0

如果imageBitmap类,你可能需要将EncoderParameters传递到Save方法

image.Save(Path, jgpEncoder, myEncoderParameters); 
+0

试过它给出了相同的结果,也试图使用位图而不是图像 – Narzul