C#处理大图片在缩略图时的展示 - Web前端
作者:98wpeu发布时间:2026-09-20分类:网页前端技术浏览:16
导读:今天在列表中展示图片,我发现一个问题:每篇文章都会上传一些图片,我们列表缩略图是随机抽取第一张图片展示,但是我们每张图片都非常大,每张都是在1m以上,所以我对每个图片进行一下处理,...

今天在列表中展示图片,我发现一个问题:
每篇文章都会上传一些图片,我们列表缩略图是随机抽取第一张图片展示,但是我们每张图片都非常大,每张都是在1m以上,所以我对每个图片进行一下处理,下面是代码。
我们在展示图片的时候。不直接链接图片地址。而是链接一个处理图片的页面,比如:
<img src=”\imghandler.aspx?imgurl=xxxx”>
然后我们在imghandler页面来进行对图片的处理。代码如下:
public partial class _Default : System.WEB.UI.Page
{
PRotected void Page_load(Object sender, eventArgs e)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
getReducedImage(253, 155).Save(ms, System.Drawing.Imaging.ImageFORMat.Png);
Response.ClearContent();
Response.Contenttype = "image/png";
Response.BinaryWrite(ms.ToArray());
}
public System.Drawing.Image GetReducedImage(int width, int height)
{
string src = Server.MAPPath("~/images/Still0403_00062.jpg");
System.Drawing.Image ResourceImage = System.Drawing.Image.FromFile(src);
try
{
//用指定的大小和格式初始化Bitmap类的新实例
Bitmap bitmap = new Bitmap(Width, Height, Pixelformat.Format32bppArgb);
//从指定的Image对象创建新Graphics对象
Graphics graphics = Graphics.FromImage(bitmap);
//清除整个绘图面并以透明背景色填充
graphics.Clear(color.Transparent);
//在指定位置并且按指定大小绘制原图片对象
graphics.DrawImage(ResourceImage, new ReCTAngle(0, 0, Width, Height));
graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.Highspeed;
return bitmap;
}
catch (Exception e)
{
return null;
}
}
}我们来看下这样处理过后的效果。如下:

这是直接引用的图片地址,大小是152823字节。

这是通过页面输出引用的图片。大小为99743字节,图片小了,自然加载速度就快了不少。好了,大家试试吧!
相关推荐
- 聊聊Ajax()中data()基本知识以及实例分析 - Web前端
- 【性能优化】大神们教你如何打造高性能网站 - Web前端
- 浅谈下页面中字体设置(font-family)和粗细(font-weight)问题 - Web前端
- 关于HTML中文字换行的一些事 - Web前端
- 学习JS中promise对象之异步coding - Web前端
- 一位前端菜鸟对于JavaScript同步异步编程的了解 - Web前端
- 设计师在沟通中需要了解的一些技巧 - Web前端
- 推荐一款JavaScript模块打包神器:Rollup - Web前端
- 学习下基于jQuery数据加载流 - Web前端
- 学习当前最热门的前端资源打包工具:Webpack - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 7jQuery编写widget的一些技巧分享 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


