缩略图

 public Bitmap ToThumbnailImages(string sourceImagePath, string thumbnailImagePath, int thumbnailImageWidth)
        {
            //string SourceImagePath = sourceImagePath;
            //string ThumbnailImagePath = thumbnailImagePath;
            //int ThumbnailImageWidth = thumbnailImageWidth;
            //string sExt = SourceImagePath.Substring(SourceImagePath.LastIndexOf(".")).ToLower();
            //if (SourceImagePath.ToString() == System.String.Empty) throw new NullReferenceException("SourceImagePath is null!");
            //if (!CheckValidExt(sExt))
            //{
            //    throw new ArgumentException("原图片文件格式不正确,支持的格式有[ " + AllowExt + " ]", "SourceImagePath");
            //}
            //从 原图片 创建 Image 对象
            System.Drawing.Image image = System.Drawing.Image.FromFile(sourceImagePath);
            int num = ((thumbnailImageWidth / 4) * 3);
            int width = image.Width;
            int height = image.Height;
            //计算图片的比例
            if ((((double)width) / ((double)height)) >= 1.3333333333333333f)
            {
                num = ((height * thumbnailImageWidth) / width);
            }
            else
            {
                thumbnailImageWidth = ((width * num) / height);
            }
            if ((thumbnailImageWidth < 1) || (num < 1))
            {
                return null;
            }
            //用指定的大小和格式初始化 Bitmap 类的新实例
            Bitmap bitmap = new Bitmap(thumbnailImageWidth, num, PixelFormat.Format32bppArgb);
            //从指定的 Image 对象创建新 Graphics 对象
            Graphics graphics = Graphics.FromImage(bitmap);
            //清除整个绘图面并以透明背景色填充
            graphics.Clear(Color.Transparent);
            //在指定位置并且按指定大小绘制 原图片 对象
            graphics.DrawImage(image, new Rectangle(0, 0, thumbnailImageWidth, num));
            image.Dispose();
            graphics.Dispose(); 
            return bitmap;
            //image.Dispose();
            //try
            //{
            //    //将此 原图片 以指定格式并用指定的编解码参数保存到指定文件
            //    string savepath = (ThumbnailImagePath == null ? SourceImagePath : ThumbnailImagePath);
            //    SaveImage(bitmap, HttpContext.Current.Server.MapPath(savepath), GetCodecInfo((string)htmimes[sExt]));
            //}
            //catch (System.Exception e)
            //{
            //    throw e;
            //}
            //finally
            //{
            //    bitmap.Dispose();
            //    graphics.Dispose();
            //}
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值