打印本文 打印本文  关闭窗口 关闭窗口  
ASP.NET生成缩略图的代码
作者:佚名  文章来源:站长之家  更新时间:2014-8-7 11:14:16  文章录入:yxeee  责任编辑:yxeee

    ASP.NET生成缩略图,只需你给定要生成的图片路径,生成后存放的服务器路径,生成方式,生成的尺寸,还有生成后的图片类型,即可为你生成合适的缩略图。

    使用System.Drawing中;
    代码如下:

01 // <摘要>
02。///生成缩略图
03。/// </摘要>
04。/// <参数名称=“originalImagePath”>源图路径</ param>
05。/// <参数名称=“thumbnailPath”>缩略图路径</ param>
06。/// <参数名称=“宽度”>缩略图宽度</ param>
07。/// <参数名称=“高度”>缩略图高度</ param>
08。/// <参数名称=“模式”>生成缩略图的方式:汉王指定高宽缩放(可能变形); W指定宽,高按比例ħ指定高,宽按比例削减指定高宽裁减(不变形) </ param>  
09。/// <参数名称=“模式”>要缩略图保存的格式(GIF,JPG,BMP,PNG)为空或未知类型都视为JPG </ param>  
10。公共静态无效MakeThumbnail(字符串originalImagePath,串thumbnailPath,诠释的宽度,高度诠释,字符串模式,串IMAGETYPE)
11。{
12。图片originalImage = Image.FromFile(originalImagePath)
13。INT towidth =宽度;
14。INT toheight =高;
15。诠释x = 0;
16。诠释y = 0;
17。INT流量= originalImage.Width;
18。诠释哦= originalImage.Height;
19.20。开关(模式)
21。{
22。案“硬件”://指定高宽缩放(可能变形)        
23。打破;
24。案“W”://指定宽,高按比例          
25。toheight = originalImage.Height *宽/ originalImage.Width;
26。打破;
27。情况下的“H”://指定高,宽按比例
28。towidth = originalImage.Width *高/ originalImage.Height;
29。打破;
30。案“切”://指定高宽裁减(不变形)        
31。IF((双)originalImage.Width /(双)originalImage.Height>(双)towidth /(双)toheight)
32。{
33。哦= originalImage.Height;
34。流量= originalImage.Height * towidth / toheight;
35。Y = 0;
36。X =(originalImage.Width -呜)/ 2;
37。}
38。其他
39。{
40。流量= originalImage.Width;
41。哦= originalImage.Width *高/ towidth;
42。X = 0;
43。Y =(originalImage.Height - OH)/ 2;
44。}
45。打破;
46。默认值:
47。打破;
48。}
49。//新建一个BMP图片
50。图像的位图=新System.Drawing.Bitmap(towidth,toheight);
51.52。//新建一个画板
53。图形G = System.Drawing.Graphics.FromImage(位图);
54.55。//设置高质量插值法
56。g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
57.58。//设置高质量,低速度呈现平滑程度
59。g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
60.61。//清空画布并以透明背景色填充
62。g.Clear(Color.Transparent);
63.64。//在指定位置并且按指定大小绘制原图片的指定部分
65。g.DrawImage(originalImage,新的Rectangle(0,0,towidth,toheight),
66新的Rectangle(X,Y,流量,呵呵),
67 GraphicsUnit.Pixel);
68.69。试试
70。{
71。//以JPG格式保存缩略图
72。开关(imageType.ToLower())
73。{
74。案“GIF”:
75。bitmap.Save(thumbnailPath,System.Drawing.Imaging.ImageFormat.Gif)
76。打破;
77。案“JPG”:
78。bitmap.Save(thumbnailPath,System.Drawing.Imaging.ImageFormat.Jpeg)
79。打破;
80。案“BMP”:
81。bitmap.Save(thumbnailPath,System.Drawing.Imaging.ImageFormat.Bmp)
82。打破;
83。案“PNG”:
84。bitmap.Save(thumbnailPath,System.Drawing.Imaging.ImageFormat.Png)
85。打破;
86。默认值:
87。bitmap.Save(thumbnailPath,System.Drawing.Imaging.ImageFormat.Jpeg)
88。打破;
89。}
90。}
91。赶上(System.Exception的E)
92。{
93。扔ê;
94。}
95。终于
96。{
97。originalImage.Dispose();
98。bitmap.Dispose();
99。g.Dispose();
100。}
101。}

打印本文 打印本文  关闭窗口 关闭窗口