zoukankan
html css js c++ java
asp.net生成高清晰缩略图(转)
Code
1
/**/
///
<summary>
2
///
生成缩略图
3
///
</summary>
4
///
<param name="originalImagePath">
源图路径(物理路径)
</param>
5
///
<param name="thumbnailPath">
缩略图路径(物理路径)
</param>
6
///
<param name="width">
缩略图宽度
</param>
7
///
<param name="height">
缩略图高度
</param>
8
public
void
MakeThumbnail(
string
originalImagePath,
string
thumbnailPath,
int
width,
int
height)
9
{
10
System.Drawing.Image originalImage
=
System.Drawing.Image.FromFile(originalImagePath);
11
12
int
towidth
=
0
;
13
int
toheight
=
0
;
14
if
(originalImage.Width
>
width
&&
originalImage.Height
<
height)
15
{
16
towidth
=
width;
17
toheight
=
originalImage.Height;
18
}
19
20
if
(originalImage.Width
<
width
&&
originalImage.Height
>
height)
21
{
22
towidth
=
originalImage.Width;
23
toheight
=
height;
24
}
25
if
(originalImage.Width
>
width
&&
originalImage.Height
>
height)
26
{
27
towidth
=
width;
28
toheight
=
height;
29
}
30
if
(originalImage.Width
<
width
&&
originalImage.Height
<
height)
31
{
32
towidth
=
originalImage.Width;
33
toheight
=
originalImage.Height;
34
}
35
int
x
=
0
;
//
左上角的x坐标
36
int
y
=
0
;
//
左上角的y坐标
37
38
39
//
新建一个bmp图片
40
System.Drawing.Image bitmap
=
new
System.Drawing.Bitmap(towidth, toheight);
41
42
//
新建一个画板
43
Graphics g
=
System.Drawing.Graphics.FromImage(bitmap);
44
45
//
设置高质量插值法
46
g.InterpolationMode
=
System.Drawing.Drawing2D.InterpolationMode.High;
47
48
//
设置高质量,低速度呈现平滑程度
49
g.SmoothingMode
=
System.Drawing.Drawing2D.SmoothingMode.HighQuality;
50
51
//
清空画布并以透明背景色填充
52
g.Clear(Color.Transparent);
53
54
//
在指定位置并且按指定大小绘制原图片的指定部分
55
g.DrawImage(originalImage,x,y,towidth,toheight);
56
57
try
58
{
59
//
以jpg格式保存缩略图
60
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
61
}
62
catch
(System.Exception e)
63
{
64
throw
e;
65
}
66
finally
67
{
68
originalImage.Dispose();
69
bitmap.Dispose();
70
g.Dispose();
71
}
72
}
73
查看全文
相关阅读:
GridControl主从表设置
Asp.net Ajax框架教程
实现类似百度下拉框自动匹配功能
将一个DataTable分解成多个DataTable
找不到可安装的ISAM ,asp.net读取数据丢失,解决的一列里有字符与数字的
StringCollection FAQ [C#, BCL]
从枚举的初始化说起 [C#]
当多态遇上数组 ... [C++] (Rewritten)
我并不是不闻不问![C#]
当多态遇上数组 ... [C++, C++/CLI, C#]
原文地址:https://www.cnblogs.com/yangxiaohu1/p/1333815.html
最新文章
Visual Studio 设置项目背景颜色
解决“配置系统未能初始化”异常
DIV、CSS和JavaScript实现可隐藏并重现悬浮版块
版权符号模糊解决办法
C# WinForm 打开浏览器并访问网址代码
【Java习作】提取汉字拼音首字母(Java版)
【电信增值业务学习笔记】9基于智能网的增值业务实现技术和应用
【电信增值业务学习笔记】10基于业务节点的增值业务提供技术
【电信增值业务学习笔记】6 彩信增值业务
【电信增值业务学习笔记】5WAP类增值业务
热门文章
【电信增值业务学习笔记】11 基于Parlay的增值业务提供技术
【电信增值业务学习笔记】8 3G视频类增值业务
【电信增值业务学习笔记】4 短信类增值业务
【电信增值业务学习笔记】7 USSD增值业务提供技术
【通信中间件】电信级解决方案中间件ICE编程入门指南
C# 数据表(Dataset)操作 合并 查询一箩筐
让你的网页文本框增加光晕效果与提示,水印(类似QQ2011)
ASPxGridview根据条件将符合条件的行颜色改变
AspXGridView鼠标经过改变行背景色与自定义列显示内容
[C#]二维码生成、解码(QRCode)【支持winform、web调用】
Copyright © 2011-2022 走看看