標籤:style blog color 使用 os io for ar
C#使用預設方法對映像進行儲存的時候映像會有損失,以下提供無損儲存的方法:
1 /// <summary> 2 /// 無損儲存圖片 3 /// </summary> 4 /// <param name="imgResult">圖片</param> 5 /// <param name="Path">儲存的路徑</param> 6 /// <param name="ImageType">圖片的類型,image/jpeg,image/png,image/gif,image/tiff,image/bmp</param> 7 /// <returns></returns> 8 public bool SaveImage(Image imgResult, string Path, string ImageType) 9 {10 EncoderParameter p;11 EncoderParameters ps;12 try13 {14 ps = new EncoderParameters(1);15 16 p = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);17 ps.Param[0] = p;18 19 ImageCodecInfo ii = GetCodecInfo(ImageType);20 imgResult.Save(Path, ii, ps);21 imgResult.Dispose();22 }23 catch (Exception ex)24 {25 return false;26 }27 return true;28 }29 30 /// <summary>31 /// 擷取圖片的編碼類別型32 /// </summary>33 /// <param name="mimeType"></param>34 /// <returns></returns>35 public ImageCodecInfo GetCodecInfo(string mimeType)36 {37 ImageCodecInfo[] CodecInfo = ImageCodecInfo.GetImageEncoders();38 foreach (ImageCodecInfo ici in CodecInfo)39 {40 if (ici.MimeType == mimeType) return ici;41 }42 return null;43 }