All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
《Effective,C#》-使用成员初始化语句_.net资料_编程技术
SQL Server机器上病毒扫描的注意事项_[SQL Server教程]
实例详细讲解PHP连接调用数据库的方法_php资料_编程技术
实例讲解动态网页技术PHP开发文件系统_php资料_编程技术
php函数substr实现asp中left和right功能_php资料_编程技术
PHP常用函数_[PHP教程]
ASP.NET2.0中GridView控件的隐藏列的问题_[Asp.Net教程]
sql之IN,和,BETWEEN,条件运算符_[SQL,Server教程]
SQL Server 存储过程的经典分页_[SQL Server教程]
asp.net身份验证(登录控件),基于标准的sqlserver_[Asp.Net教程]
Reading number is top 10 pictures
美女和狗狗1
Take you to walk into the most true north Korea rural4
So beauty, will let you spray blood3
深圳的风光
The money of more than 100 countries and regions14
NeedWallpaper6
美女浴室写真2
BingBingFan apple dew point photo gallery2
A man's favorite things12
Female model behind the bitterness, often being overcharged4
Download software ranking
Unix video tutorial17
Boxer's Top ten classic battle3
Rio big adventure
终极变速大师Speeder3.26
C#COM编程指南
Ashlynn Video2
C#高级编程(第4版)
Love the forty days
Boxer's Top ten classic battle7
Take off clothes to survival
delv published in(发表于) 2014/1/16 9:29:13 Edit(编辑)
ASP.NET生成高质量缩略图通用函数(C#代码),支持多种生成方式_[Asp.Net教程]

ASP.NET生成高质量缩略图通用函数(C#代码),支持多种生成方式_[Asp.Net教程]

ASP.NET生成高质量缩略图通用函数(C#代码),支持多种生成方式_[Asp.Net教程]

在网站开发时,生成缩略图是一个非常常见和实用的功能.以前在asp里只能借助com组件实现,现在在.net里可以利用框架的强大的类库轻松实现.下面帖出完整的代码(带详细注释),参考了网上的一些文章及.net sdk相关内容.QQROOM网络家园的图片上传用到了所有的4种生成方式.
复制C#代码保存代码///


/// 生成缩略图
///

/// 源图路径(物理路径)
/// 缩略图路径(物理路径)
/// 缩略图宽度
/// 缩略图高度
/// 生成缩略图的方式
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();
}
}



来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.