asp.net生成高清晰缩略图

本文介绍了一种生成图片缩略图的方法,通过调整图片尺寸来适应指定的宽度和高度,同时保持图片的质量和平滑度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. /// <summary> 
  2.         /// 生成缩略图 
  3.         /// </summary> 
  4.         /// <param name="originalImagePath">源图路径(物理路径)</param> 
  5.         /// <param name="thumbnailPath">缩略图路径(物理路径)</param> 
  6.         /// <param name="width">缩略图宽度</param> 
  7.         /// <param name="height">缩略图高度</param>   
  8.         public  void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height) 
  9.         { 
  10.           System.Drawing.Image   originalImage = System.Drawing.Image.FromFile(originalImagePath); 
  11.            int towidth = 0; 
  12.            int toheight =0; 
  13.             if(originalImage.Width>width &&originalImage.Height<height) 
  14.             { 
  15.                 towidth = width; 
  16.                 toheight = originalImage.Height; 
  17.             } 
  18.             if (originalImage.Width<width && originalImage.Height >height) 
  19.             { 
  20.                 towidth = originalImage.Width; 
  21.                 toheight = height; 
  22.             } 
  23.             if (originalImage.Width > width && originalImage.Height > height) 
  24.             { 
  25.                 towidth = width; 
  26.                 toheight = height; 
  27.             } 
  28.             if (originalImage.Width < width && originalImage.Height < height) 
  29.             { 
  30.                 towidth = originalImage.Width; 
  31.                 toheight = originalImage.Height; 
  32.             } 
  33.             int x = 0;//左上角的x坐标 
  34.             int y = 0;//左上角的y坐标 
  35.             
  36.             //新建一个bmp图片 
  37.          System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight); 
  38.             //新建一个画板 
  39.             Graphics g = System.Drawing.Graphics.FromImage(bitmap); 
  40.             //设置高质量插值法 
  41.             g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 
  42.             //设置高质量,低速度呈现平滑程度 
  43.             g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 
  44.             //清空画布并以透明背景色填充 
  45.             g.Clear(Color.Transparent); 
  46.             //在指定位置并且按指定大小绘制原图片的指定部分 
  47.             g.DrawImage(originalImage,x,y,towidth,toheight); 
  48.             try 
  49.             { 
  50.                 //以jpg格式保存缩略图 
  51.                 bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg); 
  52.             } 
  53.             catch (System.Exception e) 
  54.             { 
  55.                 throw e; 
  56.             } 
  57.             finally 
  58.             { 
  59.                 originalImage.Dispose(); 
  60.                 bitmap.Dispose(); 
  61.                 g.Dispose(); 
  62.             } 
  63.         }

文章来源:wangjun8868的专栏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值