一,有一些同志,以为将图片文件扩展名改了,就是改了图片格式了,害得我花了不少时间,我x!
------------------------------------------------------------
BMP: 以 42 4D 开头
JPG: 以 FF D8 FF E0 开头,以 FF D9 结束
GIF: 以 47 49 46 开头
------------------------------------------------------------
二,.net中的System.IO.DirectoryInfo类
三,遍历改名:
//文件
System.IO.FileInfo[] file_info = d_info.GetFiles("*.gif");
this.dataGridView1.DataSource = file_info;
//
int i = 0;
System.Drawing.Image img = null ;//= System.Drawing.Image.FromFile();
foreach (System.IO.FileInfo item in file_info)
{
img = System.Drawing.Image.FromFile(item.FullName);
if (!(img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Gif)))
{
MessageBox.Show(string.Format("{2} /t 文件{0}不是{1}文件格式!", item.FullName, "gif", ++i));
string new_jpg_fullname = item.FullName.Replace(".gif",".jpg");
img.Save(new_jpg_fullname,System.Drawing.Imaging.ImageFormat.Jpeg);
img.Dispose(); //文件移动改名时,为防止另一个进程在使用这个文件
System.IO.File.Move(item.FullName,item.FullName.Replace(item.Name, "假GIF_" + item.Name));
}
}
if (img != null)
img.Dispose();