使用System.Drawing.Image.GetThumbnailImage 方法轻松创建缩略图
简介
这是一段非常简单的生成缩略图的代码,程序会提取 Images 目录下的所有jpg文件,为它们创建160*120的缩略图,并将生成的缩略图拷贝到 Images/Thumb 目录下。代码使用了System.Drawing.Image.GetThumbnailImage()方法来创建缩略图,缺点是不能对缩略图的质量进行控制,生成的缩略图文件较大,网页上一般缩略图只有几KB。
有关System.Drawing.Image.GetThumbnailImage()方法,请查看MSDN Image.GetThumbnailImage 方法 (System.Drawing)
代码
C#代码
- private static void CreateThumbnailImage()
- {
- string imagePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"Images");
- string thumbPath = Path.Combine(imagePath, "Thumb");
-
- if (Directory.Exists(thumbPath))
- {
- DeleteExistFiles(thumbPath);
- }
- Directory.CreateDirectory(thumbPath);
-
- foreach (string fileName in Directory.GetFiles(imagePath, "*.jpg"))
- {
- Image originalImage = Image.FromFile(fileName);
- Image thumbImage = originalImage.GetThumbnailImage(160, 120, null, IntPtr.Zero);
-
- string thumbFileName = "Thumb_" + Path.GetFileName(fileName);
- thumbImage.Save(Path.Combine(thumbPath, thumbFileName));
- }
- }
-
- private static void DeleteExistFiles(string dir)
- {
- foreach (string fileName in Directory.GetFiles(dir))
- {
- File.Delete(fileName);
- }
- Directory.Delete(dir);
- }