问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp.net(c#),我在做一个网站,谁能给一个完整缩略图代码?

发布网友 发布时间:2022-05-19 11:43

我来回答

5个回答

热心网友 时间:2022-05-19 13:12

/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="originalImagePath">源图路径(物理路径)</param>
/// <param name="thumbnailPath">缩略图路径(物理路径)</param>
/// <param name="width">缩略图宽度</param>
/// <param name="height">缩略图高度</param>
/// <param name="mode">生成缩略图的方式</param>
public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode)
{
Image originalImage = Image.FromFile(originalImagePath);

int towidth = width;
int toheight = height;

int x = 0;
int y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height;

switch (mode)
{
case "HW"://指定高宽缩放(可能变形)
break;
case "W"://指定宽,高按比例
toheight = originalImage.Height * width/originalImage.Width;
break;
case "H"://指定高,宽按比例
towidth = originalImage.Width * height/originalImage.Height;
break;
case "Cut"://指定高宽裁减(不变形)
if((double)originalImage.Width/(double)originalImage.Height > (double)towidth/(double)toheight)
{
oh = originalImage.Height;
ow = originalImage.Height*towidth/toheight;
y = 0;
x = (originalImage.Width - ow)/2;
}
else
{
ow = originalImage.Width;
oh = originalImage.Width*height/towidth;
x = 0;
y = (originalImage.Height - oh)/2;
}
break;
default :
break;
}

//新建一个bmp图片
Image bitmap = new System.Drawing.Bitmap(towidth,toheight);

//新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap);

//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

//清空画布并以透明背景色填充
g.Clear(Color.Transparent);

//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight),
new Rectangle(x, y, ow,oh),
GraphicsUnit.Pixel);

try
{
//以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch(System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}

热心网友 时间:2022-05-19 14:30

不用的,你前台用图片控件,定义这个图片控件的高度和宽度,你上传的图片在前台就自动按照这个尺寸显示。追问那样岂不是失真了?

热心网友 时间:2022-05-19 16:05

你到网上找找.net缩略图的类代码吧

热心网友 时间:2022-05-19 17:56

给邮箱出来
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
剑气能触发连击和追击么 剑意追击攻击怎么触发 殷剑平连击和追击怎么触发 如影随形是十二生肖那个生肖? 天龙八部里面的武学奇才易建联他的火焰刀猛不猛啊? 有哪些NBA球队黑人,白人.黄人都有 现在易建联在哪个队 11月17日奇才VS猛龙比赛直播 易建联奇才VS猛龙国语直播 奇才VS猛龙视 ... 重庆火锅协会承诺不使用老油,消费者会买账吗? 现在的重庆火锅为什么底料只用一次? 养老保险里的非统筹是什么意思 养老保险期间补收期间不享受统筹待遇是什么意思? 护理液和隐形眼镜眼药水有什么不一样? 隐形眼镜(清洗液和护理液是一样的么?) 自然堂冰肌爆水散粉和卡姿兰蜗牛气垫哪个好? 艾尔维雅好吗 蜗牛气垫好还是艾尔维雅气垫好? 请问气垫CC霜要怎么分辨好坏?麻烦懂的来说说卡姿兰的气垫CC霜好不好 蝶恋气垫CC霜里面包含的蜗牛液,欧洲甜樱桃果,越桔果都起什么作用? 卡姿兰蜗牛气垫cc霜遮瑕怎么样,这个真的很好吗? 卡姿兰蜗牛气垫cc霜怎么差防伪码 蜗牛气垫cc霜进水了怎么办 卡姿兰底妆好吗?它的气垫好不好? 卡姿兰气垫cc霜和卡姿兰蜗牛cc霜的区别 韩国蜗牛气垫cc霜保质期多久 卡姿兰的蜗牛气垫CC霜好用么,感觉怎么样? 蜗牛cc霜真的含蜗牛吗 八段锦的秘密,射雕的关窍,除了左右开弓的扭转,隐藏在哪里呢? 把脉一个胳膊是喜脉,一个不是 中医切脉男的是左手还是右手 落雨大的介绍 养老保险都是个人一交的死亡了应该全额退也不存在统筹了,没享受着待遇??看病花了很多钱?有安葬费吗? 网页截图,怎么直接通过URL截取网页为缩略图 别人绑定了我的怎么解除 绑定的账号怎么解除 微信怎么解除绑定其他 我的手机号被另一个捆绑了,怎样解绑呢? 你申请绑定的手机号已被其他的绑定怎么解决? asp.net开发 怎样在网页中显示其它网站首页的缩略图 如下图所示 在手机软件上的视频怎么转到本地视频 怎么把离线视频,转为本地视频?得用什么软件?把下载来的视频变为本地视频?? 为什么金毛刚下幼崽却不愿意喂养了? 中原消费金融限制多少年龄 asp.net 鼠标经过缩略图 显示完整图片 飞机从起飞到降落需要经历哪些大气层? 飞机飞行与大气层有关吗 飞机能不能飞到大气层的中间层吗? 大气层各个圈层与其相对应的飞行物是什么 喷气式飞机能不能飞出大气层? 飞机飞行在哪个大气层 老虎菜拌小黄鹿。求解释做法