1. 程式人生 > 程式設計 >C# 圖片格式轉換的例項程式碼

C# 圖片格式轉換的例項程式碼

在日常工作中,經常需要不同格式的圖片,有時還需要進行圖片格式的相互轉換,本文以一個簡單的小例子,簡述圖片格式轉換的常見方法,僅供學習分享使用,如有不足之處,還請指正。

涉及知識點

  • OpenFileDialog 開啟檔案對話方塊,用於選擇檔案,可以設定過濾字尾。
  • FolderBrowserDialog 資料夾選擇對話方塊,用於選擇一個資料夾,可以新增。
  • ImageFormat 圖片型別列舉。
  • Bitmap 點陣圖物件,包含對應的屬性和內容。
  • Stream 流物件的基類。
  • FlowLayoutPanel 流式佈局容器,所新增的元素,以橫向或縱向依次排列。

示例效果圖

圖片轉換器的示例效果圖如下:

C# 圖片格式轉換的例項程式碼

核心程式碼

開啟圖片

/// <summary>
    /// 開啟圖片
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void btnOpen_Click(object sender,EventArgs e)
    {

      this.fileDialog.Filter = fileFilter;
      this.fileDialog.Multiselect = true;
      this.fileDialog.CheckFileExists = true;
      if (fileDialog.ShowDialog() == DialogResult.OK)
      {
        string[] fileNames = this.fileDialog.FileNames;
        foreach(string fileName in fileNames)
        {
          Bitmap bmp = new Bitmap(fileName);
          //儲存圖片名稱
          bmp.Tag = Path.GetFileNameWithoutExtension(fileName);
          PictureBox box = new PictureBox();
          box.Image = bmp;
          box.Width = 105;
          box.Height = 150;
          box.BorderStyle = BorderStyle.FixedSingle;
          box.Padding = new Padding(2);
          this.flowPnl.Controls.Add(box);
        }
        this.txtFile.Text = Path.GetDirectoryName(fileNames[0]);

      }
    }

轉換圖片格式

/// <summary>
    /// 轉換圖片
    /// </summary>
    private void convertImage(string dir,string filter,Bitmap bmp)
    {
      string filePath = Path.Combine(dir,string.Format("{0}.{1}",bmp.Tag.ToString(),filter.ToLower()));
      switch (filter)
      {
        case "JPG":
          bmp.Save(filePath,ImageFormat.Jpeg);
          break;
        case "PNG":
          bmp.Save(filePath,ImageFormat.Png);
          break;
        case "GIF":
          bmp.Save(filePath,ImageFormat.Gif);
          break;
        case "BMP":
          bmp.Save(filePath,ImageFormat.Bmp);
          break;
        case "ICO":
          Stream stream = File.Create(filePath);
          Icon icon = Icon.FromHandle(bmp.GetHicon());
          icon.Save(stream);    //  save the icon
          stream.Close();
          break;
      }
    }

如果需要示例的原始碼,可以點選連結進行下載

原始碼連結

以上就是C# 圖片格式轉換的例項程式碼的詳細內容,更多關於c# 圖片格式轉換的資料請關注我們其它相關文章!