asp.net生成高清晰缩略图

本文介绍了一种生成图片缩略图的方法,通过调整图片尺寸来适应指定的宽度和高度,同时保持图片的质量和平滑度。
部署运行你感兴趣的模型镜像
  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的专栏

您可能感兴趣的与本文相关的镜像

GPT-SoVITS

GPT-SoVITS

AI应用

GPT-SoVITS 是一个开源的文本到语音(TTS)和语音转换模型,它结合了 GPT 的生成能力和 SoVITS 的语音转换技术。该项目以其强大的声音克隆能力而闻名,仅需少量语音样本(如5秒)即可实现高质量的即时语音合成,也可通过更长的音频(如1分钟)进行微调以获得更逼真的效果

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究”展开,提出了一种结合数据驱动方法与Koopman算子理论的递归神经网络(RNN)模型线性化方法,旨在提升纳米定位系统的预测控制精度与动态响应能力。研究通过构建数据驱动的线性化模型,克服了传统非线性系统建模复杂、计算开销大的问题,并在Matlab平台上实现了完整的算法仿真与验证,展示了该方法在高精度定位控制中的有效性与实用性。; 适合人群:具备一定自动化、控制理论或机器学习背景的科研人员与工程技术人员,尤其是从事精密定位、智能控制、非线性系统建模与预测控制相关领域的研究生与研究人员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能预测控制;②为复杂非线性系统的数据驱动建模与线性化提供新思路;③结合深度学习与经典控制理论,推动智能控制算法的实际落地。; 阅读建议:建议读者结合Matlab代码实现部分,深入理解Koopman算子与RNN结合的建模范式,重点关注数据预处理、模型训练与控制系统集成等关键环节,并可通过替换实际系统数据进行迁移验证,以掌握该方法的核心思想与工程应用技巧。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值