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
查看全文
相关阅读:
阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (四) 自动化部署
阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (三) 服务观测
阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (二) 部署微服务程序
阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (一) 部署 Nacos
C++知识点
libmkl 学习笔记
基于tesseract-OCR进行中文识别
poco编译与运行
Linux下的I/O复用与epoll详解(转载)
高并发网络编程之epoll详解(转载)
原文地址:https://www.cnblogs.com/yangxiaohu1/p/1333815.html
最新文章
最短路径算法——Dijkstra算法
静态链接与动态链接库的查找顺序
关于delete的一个小问题
ubuntu16.04源码编译安装Poco1.7.8
sql去重 删除id比较的的
Flask Web学习笔记(六)
Flask Web学习笔记(五)
Flask Web学习笔记(四)
Flask Web学习笔记(三)
Flask Web学习笔记(二)
热门文章
Flask Web学习笔记(一)
记客户端出现Connect reset问题排查。
maven的setting配置远程仓库
windows运行Tomcat配置自定义的jdk环境运行。
仿谷歌验证 (Google Authenticator) 的一种 Java 实现
k8s 部署 (二) EMQ X 集群
k8s 部署 (一) SkyWalking 集群
阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (五) Kubernetes TCP Ingress
Jenkins 之权限 (Role-based Authorization Strategy)
Jenkins 之使用自定义主题
Copyright © 2011-2022 走看看