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
查看全文
相关阅读:
JFreeChart API 说明(转)
杭电1064
杭电2734
杭电1170
杭电1197
杭电2629
杭电1062
杭电2088
杭电1205
杭电1004
原文地址:https://www.cnblogs.com/yangxiaohu1/p/1333815.html
最新文章
TCP/IP
synchronized
Lock
数据库事务的四种隔离级别
常见集合比较
windows环境安装mysql
树
Oracle数据库的奇淫技巧
数据库连接池
Java Beans
热门文章
J2EE Servlet
Vue.js项目目录结构
Visual Studio Code 常用快捷键
校招必考:根据二叉树遍历序列确定二叉树
博客以及作者说明
JavaScript闭包详解
eclipse 常用快捷键
boost 编译 安装
SVN 服务器搭建
JS Data 对象 成员方法
Copyright © 2011-2022 走看看