ASP.NET(C#)生成缩略图
2009-11-22 17:06
344 查看
1
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
if (FileUpload1.PostedFile.ContentType.ToLower().IndexOf("image") < 0)
2
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
3
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
FunctionUtility.JavaScriptHelper.Alert("上传图片格式不正确!");
4
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return;
5
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
6
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
7
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//生成原图
8
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
Byte[] oFileByte = new Byte[FileUpload1.PostedFile.ContentLength];
9
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
Stream oStream = FileUpload1.PostedFile.InputStream;
10
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream);
11
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
12
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//原图宽度和高度
13
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
int oWidth = oImage.Width;
14
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
int oHeight = oImage.Height;
15
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
16
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//设置缩略图的初始宽度和高度
17
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
int tWidth = 200;
18
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
int tHeight = 200;
19
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
20
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//按比例计算出缩略图的宽度和高度
21
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
if (oWidth >= oHeight)
22
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
23
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
tHeight = (int)Math.Floor(Convert.ToDouble(oHeight) * (Convert.ToDouble(tWidth) / Convert.ToDouble(oWidth)));
24
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
25
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
else
26
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
27
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
tWidth = (int)Math.Floor(Convert.ToDouble(oWidth) * (Convert.ToDouble(tHeight) / Convert.ToDouble(oHeight)));
28
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
29
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
30
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//生成缩略图
31
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
Bitmap tImage = new Bitmap(tWidth, tHeight);
32
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
Graphics g = Graphics.FromImage(tImage);
33
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
34
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//指定高质量插值法
35
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
36
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//指定高质量低速度呈现
37
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
38
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//清空画布并以透明背景色填充
39
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
g.Clear(Color.Transparent);
40
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
41
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
g.DrawImage(oImage, new Rectangle(0, 0, tWidth, tHeight), new Rectangle(0, 0, oWidth, oHeight), GraphicsUnit.Pixel);
42
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
43
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//设置文件名称
44
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
string setFileName = FunctionUtility.FileHelper.GetDateTimeFileName()+".jpg";
45
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//保存原图的物理路径
46
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
string oFullName = Server.MapPath("/DesignImages/Images/YT/" + setFileName);
47
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//保存缩略图物理路径
48
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
string tFullName = Server.MapPath("/DesignImages/Images/SLT/" + setFileName);
49
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
50
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//以JPG格式保存图片并释放占用的资源
51
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
try
52
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
53
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
oImage.Save(oFullName, System.Drawing.Imaging.ImageFormat.Jpeg);
54
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
tImage.Save(tFullName, System.Drawing.Imaging.ImageFormat.Jpeg);
55
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
56
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Image1.Visible = true;
57
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Image2.Visible = true;
58
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Image1.ImageUrl = "/DesignImages/Images/YT/" + setFileName;
59
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Image2.ImageUrl = "/DesignImages/Images/SLT/" + setFileName;
60
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
61
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
FunctionUtility.JavaScriptHelper.Alert("缩略图生成成功!");
62
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
63
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
catch (Exception oe)
64
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
65
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
throw oe;
66
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
67
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
finally
68
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
69
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
oImage.Dispose();
70
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
g.Dispose();
71
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
tImage.Dispose();
72
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
Tag标签: ASP.NET,缩略图
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
if (FileUpload1.PostedFile.ContentType.ToLower().IndexOf("image") < 0)
2
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
3
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
FunctionUtility.JavaScriptHelper.Alert("上传图片格式不正确!");
4
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return;
5
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
6
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
7
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//生成原图
8
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
Byte[] oFileByte = new Byte[FileUpload1.PostedFile.ContentLength];
9
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
Stream oStream = FileUpload1.PostedFile.InputStream;
10
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream);
11
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
12
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//原图宽度和高度
13
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
int oWidth = oImage.Width;
14
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
int oHeight = oImage.Height;
15
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
16
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//设置缩略图的初始宽度和高度
17
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
int tWidth = 200;
18
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
int tHeight = 200;
19
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
20
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//按比例计算出缩略图的宽度和高度
21
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
if (oWidth >= oHeight)
22
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
23
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
tHeight = (int)Math.Floor(Convert.ToDouble(oHeight) * (Convert.ToDouble(tWidth) / Convert.ToDouble(oWidth)));
24
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
25
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
else
26
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
27
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
tWidth = (int)Math.Floor(Convert.ToDouble(oWidth) * (Convert.ToDouble(tHeight) / Convert.ToDouble(oHeight)));
28
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
29
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
30
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//生成缩略图
31
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
Bitmap tImage = new Bitmap(tWidth, tHeight);
32
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
Graphics g = Graphics.FromImage(tImage);
33
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
34
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//指定高质量插值法
35
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
36
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//指定高质量低速度呈现
37
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
38
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//清空画布并以透明背景色填充
39
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
g.Clear(Color.Transparent);
40
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
41
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
g.DrawImage(oImage, new Rectangle(0, 0, tWidth, tHeight), new Rectangle(0, 0, oWidth, oHeight), GraphicsUnit.Pixel);
42
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
43
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//设置文件名称
44
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
string setFileName = FunctionUtility.FileHelper.GetDateTimeFileName()+".jpg";
45
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//保存原图的物理路径
46
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
string oFullName = Server.MapPath("/DesignImages/Images/YT/" + setFileName);
47
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//保存缩略图物理路径
48
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
string tFullName = Server.MapPath("/DesignImages/Images/SLT/" + setFileName);
49
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
50
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
//以JPG格式保存图片并释放占用的资源
51
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
try
52
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
53
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
oImage.Save(oFullName, System.Drawing.Imaging.ImageFormat.Jpeg);
54
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
tImage.Save(tFullName, System.Drawing.Imaging.ImageFormat.Jpeg);
55
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
56
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Image1.Visible = true;
57
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Image2.Visible = true;
58
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Image1.ImageUrl = "/DesignImages/Images/YT/" + setFileName;
59
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Image2.ImageUrl = "/DesignImages/Images/SLT/" + setFileName;
60
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
61
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
FunctionUtility.JavaScriptHelper.Alert("缩略图生成成功!");
62
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
63
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
catch (Exception oe)
64
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
65
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
throw oe;
66
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
67
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
finally
68
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
69
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
oImage.Dispose();
70
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
g.Dispose();
71
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
tImage.Dispose();
72
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
Tag标签: ASP.NET,缩略图
相关文章推荐
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式 作者:Jerry
- ASP.NET生成高质量缩略图通用函数(c#代码)
- [网络收集]使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- 图片文件上传, 生成高质量缩略图 (asp.net c#)
- 在ASP.NET中上传图片并生成缩略图的C#源码
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- 在ASP.NET中上传图片并生成缩略图的C#代码
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- ASP.NET C#(4.0) + SQL2008 R2 多图片上传并生成缩略图一并保存至数据库
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- ASP.NET根据URL生成网页缩略图示例程序(C#语言)
- 在ASP.NET中上传图片并生成缩略图的C#源码
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- 相册用缩略图生成类(C#,ASP.NET),自适应图像比例。
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- asp.net生成高质量缩略图通用函数(c#代码
- asp.net(c#)上传图片生成缩略图
- ASP.NET C# 按原图片大小等比例缩放生成缩略图