如何将一个文件夹中所有的bmp文件转化成同名的jpg文件

解决方案 »

  1.   

    DirectoryInfo   Dir=new   DirectoryInfo(dir);   
    foreach(FileInfo   f   in   Dir.GetFiles("*.*"))          
      {   
        Image img=ReturnPhot(f.FullName);
      }   
     
      private Image ReturnPhoto(string bmpFileName)
            {
              System.IO.FileStream stream ;
               stream=File.OpenRead(bmpFileName);
               Bitmap bmp = new Bitmap(stream);
               System.Drawing.Image image = bmp;
                System.Drawing.Image newImage = image.GetThumbnailImage(bmp.Width, bmp.Height, null, new IntPtr());
                Graphics g=Graphics.FromImage(newImage);
                g.DrawImage(newImage,0,0, newImage.Width, newImage.Height);             g.Dispose();
                stream.Close();
                return newImage;
            }
    }
      

  2.   

    补充第2种做法: string strPath = @"d:\pic";
                DirectoryInfo path = new DirectoryInfo(strPath);
                FileInfo[] files = path.GetFiles("*.bmp", SearchOption.AllDirectories);
                foreach (var item in files)
                {
                    Image img = Image.FromFile(item.FullName);
                    string strNewFileName = Regex.Replace(item.FullName, @"\.bmp$", ".jpg",RegexOptions.IgnoreCase);
                    img.Save(strNewFileName, ImageFormat.Jpeg);
                    img.Dispose();
                }
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using System.Text.RegularExpressions;//正则表达式Regex在的命名空间
    namespace 图片处理
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                //含子文件夹的图像转换
                folderBrowserDialog1.ShowDialog();
                string strPath = folderBrowserDialog1.SelectedPath;
                //string strPath = @"d:\pic";
                DirectoryInfo path = new DirectoryInfo(strPath);
                FileInfo[] files = path.GetFiles("*.bmp", SearchOption.AllDirectories);
                foreach (FileInfo item in files)
                {
                    Image img = Image.FromFile(item.FullName);
                    string strNewFileName = Regex.Replace(item.FullName, @"\.bmp$", ".jpg", RegexOptions.IgnoreCase);
                    img.Save(strNewFileName, System.Drawing.Imaging.ImageFormat.Jpeg);
                    img.Dispose();
                }
            }        private void button2_Click(object sender, EventArgs e)
            {
                //指定文件夹的图像转换
                folderBrowserDialog1.ShowDialog();
                string strPath = folderBrowserDialog1.SelectedPath;
                DirectoryInfo  Dir=new  DirectoryInfo(strPath);
                foreach(FileInfo  f  in  Dir.GetFiles("*.*")) 
                {
                    Image img=ReturnPhoto(f.FullName);
                    string strNewFileName = Regex.Replace(f.FullName, @"\.bmp$", ".jpg", RegexOptions.IgnoreCase);
                    img.Save(strNewFileName, System.Drawing.Imaging.ImageFormat.Jpeg);
                    img.Dispose();
                }
            }
            private Image ReturnPhoto(string bmpFileName) 
            { 
              System.IO.FileStream stream ; 
              stream=File.OpenRead(bmpFileName); 
              Bitmap bmp = new Bitmap(stream); 
              System.Drawing.Image image = bmp; 
              System.Drawing.Image newImage = image.GetThumbnailImage(bmp.Width, bmp.Height, null, new IntPtr()); 
              Graphics g=Graphics.FromImage(newImage); 
              g.DrawImage(newImage,0,0, newImage.Width, newImage.Height); 
              g.Dispose(); 
              stream.Close(); 
              return newImage; 
            }         
        }
    }
      

  4.   

    读进来 在存进jpg里面去。
    一个一个来