C# 图片格式转换的实例代码

C# 图片格式转换的实例代码

这篇文章主要介绍了C# 图片格式转换的实例代码,文中讲解非常详细,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下
在日常工作中,经常需要不同格式的图片,有时还需要进行图片格式的相互转换,本文以一个简单的小例子,简述图片格式转换的常见方法,仅供学习分享使用,如有不足之处,还请指正。

涉及知识点

OpenFileDialog 打开文件对话框,用于选择文件,可以设置过滤后缀。
FolderBrowserDialog 文件夹选择对话框,用于选择一个文件夹,可以新增。
ImageFormat 图片类型枚举。
Bitmap 位图对象,包含对应的属性和内容。
Stream 流对象的基类。
FlowLayoutPanel 流式布局容器,所添加的元素,以横向或纵向依次排列。
示例效果图

图片转换器的示例效果图如下:

核心代码

打开图片

///
/// 打开图片
///
///
///
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]);

  }
}

转换图片格式

///
/// 转换图片
///
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# 图片格式转换的实例代码的详细内容

你可能感兴趣的:(笔记)