Brad Abrams's blog Chinese version

Design Guidelines, Managed code and the .NET Framework: http://blogs.msdn.com/brada/default.aspx
随笔 - 44, 评论 - 18, 引用 - 1

导航

工具

关于

These postings are provided "AS IS" with no warranties, and confer no rights.

标签

每月存档

广告



访客

 

【原文地址】Very Simple .NET Thumbnail Creation Code

【原文发表日期】10 July 08 09:15

当我在更新我的Ajax示例的时候,我需要为某个目录下的图片创建缩略图。可用的工具实在是多不胜数,不过我还是想分享一下我所使用的一段非常简单的代码。

这段程序会提取根目录下的所有jpg文件,为它们创建160*120的缩略图,并将图片拷贝到完整路径下。

namespace ThumbNailer
{
    class Program
    {
        static void Main(string[] args)
        {
            string rootPath = @"C:\Users\brada\Desktop\ForDemo";
            string thumbPath = Path.Combine(rootPath, "Thumb");
            if (Directory.Exists(thumbPath)) DirectoryDelete(thumbPath);
            Directory.CreateDirectory(thumbPath);

            int imageNumber = 0;
            foreach (string s in Directory.GetFiles(rootPath, "*.jpg"))
            {
                imageNumber++;
                Console.WriteLine("{0}:{1}", imageNumber, s);
                Image i = Image.FromFile(s);
                Image thumb = i.GetThumbnailImage(160, 120, null, IntPtr.Zero);
                thumb.Save(Path.Combine(thumbPath, GetName(imageNumber)));
            }
        }

        static void DirectoryDelete(string directoryName)
        {
            foreach (string filename in Directory.GetFiles(directoryName))
            {
                File.Delete(filename);
            }
            Directory.Delete(directoryName);
        }
        static string GetName(int imageNumber)
        {
            return String.Format("{0}.jpg", imageNumber);
        }
    }
}

更新:有些人问我如何在ASP.NET中实现……Bertrand有一个完整得多的例子在此:

http://dotnetslackers.com/articles/aspnet/Generating-Image-Thumbnails-in-ASP-NET.aspx

http://weblogs.asp.net/bleroy/archive/2007/12/05/what-interpolationmode-and-compositingquality-to-use-when-generating-thumbnails-via-system-drawing.aspx

相关文章

打印 | 张贴于 2008-07-14 23:11:34 | Tag:.NET Framework

留言反馈

暂时没有留言纪录
博客主人设置本博客不允许匿名用户发表言论,请登录后再试

Powered by: Joycode MVC Blogger System