C# 圖片格式轉換的例項程式碼
阿新 • • 發佈:2020-08-04
在日常工作中,經常需要不同格式的圖片,有時還需要進行圖片格式的相互轉換,本文以一個簡單的小例子,簡述圖片格式轉換的常見方法,僅供學習分享使用,如有不足之處,還請指正。
涉及知識點
- OpenFileDialog 開啟檔案對話方塊,用於選擇檔案,可以設定過濾字尾。
- FolderBrowserDialog 資料夾選擇對話方塊,用於選擇一個資料夾,可以新增。
- ImageFormat 圖片型別列舉。
- Bitmap 點陣圖物件,包含對應的屬性和內容。
- Stream 流物件的基類。
- FlowLayoutPanel 流式佈局容器,所新增的元素,以橫向或縱向依次排列。
示例效果圖
圖片轉換器的示例效果圖如下:
核心程式碼
開啟圖片
/// <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# 圖片格式轉換的資料請關注我們其它相關文章!