Friends, Technology, Web2.0 - What I am reading

    [Home] [Recent] [Site Map]

   

一段非常简单的创建缩略图的.NET代码

【原文地址】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


>>Source Link
>>Blog: joycode
>>Publish Date: 7/15/2008 7:02:37 AM
>>Keywords: string quot

Related Posts
>>Silverlight FlickR 示例 #
    .code {font-size:76%; font-family:Geneva Verdana;}【原文地址】Silverlight FlickR Example 【原文发表日期】25 April 08 11:23 在这个示例中,我将示范在Silverlight客户端通过一个非常简单的调用去访问FlickR的REST API。最终我们将得到一个应用程序,它看上去是这样的: 第一部分,
>>如何用.net Remoting实现一个客户端需要连接多个服务器端? #
    比如我们有下面的需求: 三台电脑:A,B,C。 我们在 B 和 C 上部署了同样的一个服务,电脑 A 需要根据客户端的选择,自动的切换到底是调用B的服务,还是C的服务。 要实现这个需求,核心就在客户端的调用上。下面我们用一个简单的演示这个功能的代码来说明如何实现。   首先:服务器段 服务器段逻辑,这是非常简单的,我们按照之前的.net编写规范,编写代码即可。熟悉.n
>>UTF-8 BOM导致的无法正常模拟Http请求 #
    本文概述 StreamWriter 在产生UTF-8编码的内容时候,会在产生的这个UTF-8内容中增加BOM的信息,而这个BOM的信息,会干扰我们在一些情况的使用。 本文描述的情况,就是这种干扰让我们无法正常工作的一种情况。   何为BOM? BOM(Byte Order Mark),BOM签名。 BOM的内容就可以表示unicode文件是何种编码。BOM签名的意思就是告
>>Reporting Service Tips 101(#4) - 使用RS实现报表的自动生成以及在程序中调用RS #
    一般来说,我们把报表分为两类,一类是ad-hoc的报表,用于实时查询,客户可以输入特定的参数,得到他们感兴趣的报表,还有一类是scheduling的报表,用于自动生成,一般包括daliy,monthly,quarterly和yearly的报表,这种定制类的报表,可以在指定的时间,生成到指定的目录,他们生成的内容也会提前定制,参数不可更改。一般在报表的需求定义中,客户都会要求报表能够做
>>View Code, ViewEngine Code #
    又快有1个月没写东西了,不是因为懒,而是忙于学习。ASP.NET MVC Preview 2已经发布一段时间了,在网上看到了一些相关的文章,但是由于是Preview的版本,没有SDK,学习很辛苦。很多文章都讲了Route的用法,Google一下太多了。但是我遇到了一些问题却始终没有找到答案,先在这里分享一下,看看大家有没有更好的方法。 我们在做一个web app的时候,通常会有很多的模块,例如MI
>>动态封杀与解封IP #
    我们在应对网站的恶意请求时候,一个解决方法就是把有问题的请求IP封杀掉。 如果想快速处理这种问题,就需要编写一段代码,达到一定门槛,自动封杀。再复杂点就是不是永久封杀,还可以自动在一定时间后解封。 封杀的逻辑代码看后面提供的。 需要说明的是:IIS7时,情况发生了不同。   下面的代码,在处理封杀IP时候,不论IIS6还是IIS7 都可以把需要封杀的IP加入封杀列表。但是需要注
>>Routing中的一些修改 #
    原文地址:Upcoming Changes In Routing 纠正了一些我们刚发现的小错误。预览代码是不是很有趣? 我们已经做了一些修改让routing更加有力和有用,但就像Ben叔叔说的,能力越大责任越大(?好像是周星星说的吧?^_^)。我首先会列出修改的内容,然后讨论一下修改的含义。 Routes不再视点符号“.”为分隔符。当前,routes视.和/号为特
>>给 VSTO 插件、文档传送参数 #
      这个问题在中文、英文 MSDN 的 Office 开发论坛上都看到过(也正好都是我提供了答案),看来也算是一个“国际化需求”了。今天就记录一下和大家分享。   故事是这样的:开发人员有一个 WinForm 应用程序,它从数据库里面读取出一条记录后,获得了一个记录 ID,然后需要打开 Word 或者 Excel,用已经准备好了的 VSTO 文档或者是插件,根据这个记录 I
>>如何进行UnitTest #
    最近在我们的项目中,进行了一次如何进行Test 的大讨论。 大家都知道,Test 分为UnitTest 和 Function Test, 关于Function Test, 我们大家都没有歧义, 认为现阶段使用WatiN 的自动化测试已经能够满足项目的基本需要, 大家的分歧主要就在于如何进行Unit Test.很显然,Unit Test是在测试我们的项目的最小单元, 但是问题是在一个 Data Dr
>>多服务器的日志合并 #
    以前介绍过 sort -m对多台服务器上的日志进行排序合并,但是最近发现有时候cronolog截取日志并不干净,就是说按天截断的时候,还是有可能出现几条跨天的日志记录。March 31 => April 1时候日志排序倒错的可能性还是存在的。 最近才知道知道sort 还有-M模式,是可以对有英文月份的字段进行排序的: -M An initial string,...

Other Posts:
>>Reporting Service Tips 101(#4) - 使用RS实现报表的自动生成以及在程序中调用RS
>>Reporting Service Tips 101(#3) - 关于使用Sum函数会遇到的问题(2)
>>RS Tips 101 - 关于使用Sum函数会遇到的问题(1)
>>创新杯展现学生热情和创造力
>>RS Tips 101 - 使用RSS在指定的服务器上自动进行ReportingService报表发布
>>ASP.NET Ajax 路线图发布了
>>聊聊云计算(1):什么是云计算
>>2008年6月28日
>>发布一个爱心小软件——网页抓图
>>UTF-8 BOM导致的无法正常模拟Http请求
>>SharePoint文件磁盘存储组件下载
>>Web攻击和防御(一) - 安全检测工具(1)


Month Archives:

Top Tags:
Google Internet Technology Company & Product Profiles Search feature Business and Technology Web2.0 column analysis 服务介绍 application comment letter 业界信息 news China2.0 Startups deal Search Headlines 產業策進 未來趨勢 創投 創業案例 widget Social Network 业界动态 Google/SEO news_in Web 2.0 News & Ideas SEW Experts


@2007 All rights Reserved