帮酷LOGO
0 0 评论
文章标签:FOLD  调整大小  

Sample Image

介绍

当我从数码相机下载我的照片时,我发现它们非常大,我必须花很长时间来上传它们。 所以我写了这个简单的应用程序来调整指定文件夹中所有图像的大小。

使用代码

代码很简单。 你可以在表格中看到,它非常简单易懂。 首先选择文件夹然后单击开始以开始调整大小,你可以更改调整大小因子和包含调整后的图像的文件夹名称。

代码使用 System.IOSystem.Drawing.Imaging 命名空间。 第一个用来创建文件夹,第二个用来指定图像格式。

第一个按钮将打开 FolderBrowserDialog,它允许你选择包含要调整大小的图像的文件夹。

privatevoid button1_Click(object sender, System.EventArgs e)
{
 DialogResult dr = folderBrowserDialog1.ShowDialog();
 if(dr == DialogResult.OK) 
 {
 path = folderBrowserDialog1.SelectedPath;
 textBox1.Text=path;
 button2.Enabled=true;
 }

选择文件夹后,单击第二个按钮以开始调整大小,下面是代码:

privatevoid button2_Click(object sender, System.EventArgs e)
{
 // Create The new directory with the name specified in the textbox DirectoryInfo newDiroctory = new DirectoryInfo(path+""+textBox3.Text);
 newDiroctory.Create();
 // This is the new path that will contain the new resized imagesstring newPath =path +""+ textBox3.Text+""; 
 string []images = Directory.GetFiles(path);
 // this array contain ALL files in the specified directory progressBar1.Minimum=0;
 progressBar1.Maximum=images.Length;
 int couter = 0; // this will count the number of images in the folderfor (int i=0;i < images.Length;i++)
 {
 // select only the image format in the folderstring fileExtention = 
 images[i].Substring(images[i].Length - 3, 3);
 if(fileExtention== "bmp"||fileExtention=="jpg"||
 fileExtention=="JPG"||fileExtention=="BMP"||
 fileExtention=="gif"||fileExtention=="Gif")
 {
 couter++;
 Image currentImage = Image.FromFile(images[i]);
 int h = currentImage.Height;
 int w = currentImage.Width;
 // calculate the new dimensions// according to the resizing factorfloat factor = 
 float.Parse(comboBox1.SelectedItem.ToString());
 int newH = (int)Math.Ceiling((double)h*factor);
 int newW = (int)Math.Ceiling((double)w*factor);
 // get the Image name from the path string imageName = images[i].Substring(path.Length+1,
 images[i].Length-path.Length-5);
 // create the new bitmap with the specified size Bitmap newBitmap = new Bitmap(currentImage,new Size(newW,newH));
 // according to type of the file we will save the new imageif(fileExtention=="bmp"||fileExtention=="BMP")
 newBitmap.Save(newPath+imageName+".bmp",ImageFormat.Bmp);
 if(fileExtention=="JPG"||fileExtention=="jpg")
 newBitmap.Save(newPath+imageName+".jpg",ImageFormat.Jpeg);
 if(fileExtention=="gif"||fileExtention=="GIF")
 newBitmap.Save(newPath+imageName+".gif",ImageFormat.Gif);
 progressBar1.Value++;
 }
 }
 MessageBox.Show(couter.ToString()+ 
 " images was resized and its path is:"+newPath,"Done");
}

代码非常简单,有很多有用的注释。



文章标签:FOLD  调整大小  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语