您正在使用 IPV4 [44.211.24.175] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]保护绿色环境,构建和谐社会      

【腾讯云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折      
[公益] 地球是我家,绿化靠大家      
2024年 冬至节 048
2025年 高 考 216
2025年 元 旦 059
2025年 春 节 087
 
您现在的位置:首页 >> ASP/ASP.net >> 内容
本类新增
本类热门
asp.net生成高质量缩略图通用函数
内容摘要: ///summary///生成缩略图////summary///paramname='originalImagePath'源图路径(物理路径)/param///paramname='thumbnailPath'缩略图路径(物理路径)/param///paramname='width'缩略图宽度/param///paramname='height'缩略图高度/......
///<summary>

///生成缩略图

///</summary>

///<paramname="originalImagePath">源图路径(物理路径)</param>

///<paramname="thumbnailPath">缩略图路径(物理路径)</param>

///<paramname="width">缩略图宽度</param>

///<paramname="height">缩略图高度</param>

///<paramname="mode">生成缩略图的方式</param>

publicstaticvoidMakeThumbnail(stringoriginalImagePath,stringthumbnailPath,intwidth,intheight,stringmode)

{

ImageoriginalImage=Image.FromFile(originalImagePath);

inttowidth=width;

inttoheight=height;

intx=0;

inty=0;

intow=originalImage.Width;

intoh=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图片

Imagebitmap=newSystem.Drawing.Bitmap(towidth,toheight);

//新建一个画板

Graphicsg=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,newRectangle(0,0,towidth,toheight),

newRectangle(x,y,ow,oh),

GraphicsUnit.Pixel);

try

{

//以jpg格式保存缩略图

bitmap.Save(thumbnailPath,System.Drawing.Imaging.ImageFormat.Jpeg);

}

catch(System.Exceptione)

{

throwe;

}

finally

{

originalImage.Dispose();

bitmap.Dispose();

g.Dispose();

}

}

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:ASP.net中获取客户端参数操作系统信息

 

下一篇:asp.net实现获取客户端详细信息

发布日期:2023/10/17
手机扫二维码直达本页
发布时间:13:55:56
点  击:8
录  入:星儿
相关文章
Baidu
YiJiaCMS 7.5.3 build240901(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,Cloudflare提供加速防护
运行时间载入中.....