C# 圖片轉換格式(附檔名)


/// 要儲存的圖片
/// 品質(0~100)
/// 儲存路徑
private void SaveAsJPEG(Image img, int qulity, string path)
{
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, qulity);
myEncoderParameters.Param[0] = myEncoderParameter;

img.Save(path, GetEncoder(ImageFormat.Jpeg), myEncoderParameters);
}

///

/// 取得已安裝的影像 Codec 的相關資訊
///

/// System.Drawing.Imaging.ImageFormat
/// System.Drawing.Imaging.ImageCodeInfo
private ImageCodecInfo GetEncoder(ImageFormat format)
{
     ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();

     foreach (ImageCodecInfo codec in codecs)
     {
          if (codec.FormatID == format.Guid)
          {
               return codec;
          }
     }
     return null;
}

留言

這個網誌中的熱門文章

C# 在 GDI+ 中發生泛型錯誤

[LeetCode] Robot Return to Origin