用C#.net 生成图片文件的缩略图代码

我的网站 天气在线 最近随着寒潮的来临,生意越来越好了!但作为站长也要发愁啊!因为空间那点流量(每月80G)很快就不够用了!

除了升级空间,我又想了一个办法。就是减少其中的图片的尺寸。

其实,有很多原图是挺大的,比如有200KB,但展示在网页里是比较小的。那我何不将其缩小呢?

在网上找了不少的代码,都不能直接使用。综合了一下,终于调试成功!

参数说明:sName: 原文件名

sThumb 缩略文件名

nWidth 生成的图片的尺寸。如果原图更小,则保留原图不变。

在生成后,我是将原文件删除了的。

 public static void CreateThumbImage( string sName, string sThumb,int nWidth)
    {
        if (File.Exists(sThumb))
        {
            File.Delete(sThumb);
        }
        else
        {
            // 确保目录存在
          //  CDirectory.CreateIfNotExist(Path.GetDirectoryName(sThumb));
        }

        //Image.GetThumbnailImageAbort myCallback = ThumbnailCallback;
        Bitmap bitmap = new Bitmap(sName);
        int width = bitmap.Width;
        int height = bitmap.Height;
        int w2=width;
        int h2=height;
        if( width>nWidth)
        {
            w2 = nWidth;
            h2 = height*nWidth/width;
            var thumbnail = bitmap.GetThumbnailImage(w2, h2, null, IntPtr.Zero);
            bitmap.Dispose();
            thumbnail.Save(sThumb, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
        else
        {
            bitmap.Dispose();
            File.Move(sName, sThumb);
        }

        try
        {
            File.Delete(sName);
        }
        catch (Exception)
        {
        }
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值