ASP.NET 缩略图
最近在学ASP.NET,看到微博上的很多图片都是以缩略图的形式呈现的,点击缩略图就能看到原始大图,我想问一下,这种缩略图是怎样生成的。一个微博页面上要显示那么多张缩略图,...
最近在学ASP.NET,看到微博上的很多图片都是以缩略图的形式呈现的,点击缩略图就能看到原始大图,我想问一下,这种缩略图是怎样生成的。一个微博页面上要显示那么多张缩略图,是怎么做到的?应该不是将缩略图画到一个页面上,然后将其他页面上的Image控件的ImageURL设为之前画缩略图的页面地址吧!
刚学,请解释的详细一点。 展开
刚学,请解释的详细一点。 展开
3个回答
展开全部
1.可以写一个生成缩略图的一般处理程序 ashx
在页面上调用写好的缩略图程序ashx,比如 <img src="getImage.ashx?name=xxx"/> ,这个就是缩略图.
点击图片的时候JQuery加载查看大图。
2.也可以在用户第一次上传图片的时候自动生成一份缩略图,页面初始时加载缩略图,点击加载大图效果。
缩略图程序: ashx
context.Response.ContentType = "image/jpeg";
//接收url上传来的照片名字
string name = context.Request.QueryString["name"];
//读取图片路径
string path = context.Request.MapPath("images/" + name);
//读取大图
Image image = Image.FromFile(path);
//创建缩略图
Bitmap bitmap = new Bitmap(150, 100);//长150,高100
//创建笔刷画图
Graphics g = Graphics.FromImage(bitmap);
g.DrawImage(image, 0, 0, smallWidth, smallHeight);
//输出图片流
bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
//释放各资源
g.Dispose();
bitmap.Dispose();
image.Dispose();
在页面上调用写好的缩略图程序ashx,比如 <img src="getImage.ashx?name=xxx"/> ,这个就是缩略图.
点击图片的时候JQuery加载查看大图。
2.也可以在用户第一次上传图片的时候自动生成一份缩略图,页面初始时加载缩略图,点击加载大图效果。
缩略图程序: ashx
context.Response.ContentType = "image/jpeg";
//接收url上传来的照片名字
string name = context.Request.QueryString["name"];
//读取图片路径
string path = context.Request.MapPath("images/" + name);
//读取大图
Image image = Image.FromFile(path);
//创建缩略图
Bitmap bitmap = new Bitmap(150, 100);//长150,高100
//创建笔刷画图
Graphics g = Graphics.FromImage(bitmap);
g.DrawImage(image, 0, 0, smallWidth, smallHeight);
//输出图片流
bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
//释放各资源
g.Dispose();
bitmap.Dispose();
image.Dispose();
展开全部
两种解释方式。。
第一种 图片上传后,程序读取这个图片 ,处理为缩略图(网上有相关代码,剪裁,取样),用户列表显示的时候返回缩略图,详细查看的时候 再进行大图查看。
第二种 ,图片上传 直接保存原图。在读取的时候 页面显示一个缩略图(仅仅效果,图片还是真实全部加载完),之后查看原图的时候 就不需要读取了,,直接大尺寸显示即可。
微博上 采取第一种
第一种 图片上传后,程序读取这个图片 ,处理为缩略图(网上有相关代码,剪裁,取样),用户列表显示的时候返回缩略图,详细查看的时候 再进行大图查看。
第二种 ,图片上传 直接保存原图。在读取的时候 页面显示一个缩略图(仅仅效果,图片还是真实全部加载完),之后查看原图的时候 就不需要读取了,,直接大尺寸显示即可。
微博上 采取第一种
追问
显示缩略图时是在Image控件中显示的吗?微博上每点一个缩略图,就会弹出其相应的原图,这是触发了Image控件的单击事件吗?但Image控件好像没有单击事件。这要怎么实现?
追答
基本都单击事件,,可以使用image ,甚至div当背景都可以。。如果WEB版 基本js还是需要一点。
如果是应用程序 那各种事件都有的吧
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写个转换图片大小的函数,不会写可以网上找个,可以生成缩略图!
显示大图可以用Jquery实现。
显示大图可以用Jquery实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询