zoukankan
html css js c++ java
asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
///
<summary>
///
生成缩略图
///
</summary>
///
<param name="originalImagePath">
源图路径(物理路径)
</param>
///
<param name="thumbnailPath">
缩略图路径(物理路径)
</param>
///
<param name="width">
缩略图宽度
</param>
///
<param name="height">
缩略图高度
</param>
///
<param name="mode">
生成缩略图的方式
</param>
public
static
void
MakeThumbnail(
string
originalImagePath,
string
thumbnailPath,
int
width,
int
height,
string
mode)
{
Image originalImage
=
Image.FromFile(originalImagePath);
int
towidth
=
width;
int
toheight
=
height;
int
x
=
0
;
int
y
=
0
;
int
ow
=
originalImage.Width;
int
oh
=
originalImage.Height;
switch
(mode)
{
case
"
HW
"
:
//
指定高宽缩放(可能变形)
break
;
case
"
W
"
:
//
指定宽,高按比例
toheight
=
originalImage.Height
*
width
/
originalImage.Width;
break
;
case
"
H
"
:
//
指定高,宽按比例
towidth
=
originalImage.Width
*
height
/
originalImage.Height;
break
;
case
"
Cut
"
:
//
指定高宽裁减(不变形)
if
((
double
)originalImage.Width
/
(
double
)originalImage.Height
>
(
double
)towidth
/
(
double
)toheight)
{
oh
=
originalImage.Height;
ow
=
originalImage.Height
*
towidth
/
toheight;
y
=
0
;
x
=
(originalImage.Width
-
ow)
/
2
;
}
else
{
ow
=
originalImage.Width;
oh
=
originalImage.Width
*
height
/
towidth;
x
=
0
;
y
=
(originalImage.Height
-
oh)
/
2
;
}
break
;
default
:
break
;
}
//
新建一个bmp图片
Image bitmap
=
new
System.Drawing.Bitmap(towidth,toheight);
//
新建一个画板
Graphics g
=
System.Drawing.Graphics.FromImage(bitmap);
//
设置高质量插值法
g.InterpolationMode
=
System.Drawing.Drawing2D.InterpolationMode.High;
//
设置高质量,低速度呈现平滑程度
g.SmoothingMode
=
System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//
清空画布并以透明背景色填充
g.Clear(Color.Transparent);
//
在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage,
new
Rectangle(
0
,
0
, towidth, toheight),
new
Rectangle(x, y, ow,oh),
GraphicsUnit.Pixel);
try
{
//
以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch
(System.Exception e)
{
throw
e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}
查看全文
相关阅读:
轻院:2211: 小明的有趣回文数
轻院:2209: 小明找整数
轻院:2206: 小明发福利
轻院:2207: 小明被提问
2135: 这里是天堂!
牛客小白月赛2:文
轻院2261: flower
问题 I: 堆
SharePoint Server 2010安装图解
Microsoft Windows Sharepoint Services V3.0 安装图示
原文地址:https://www.cnblogs.com/yangbin1005/p/1260237.html
最新文章
【noip模拟赛2】牛跳
【noip模拟赛1】古韵之刺绣
【noip模拟赛1】古韵之同心锁
多窗口切换.py
xpath定位.py
控制浏览器.py
操作cookie.py
简单元素操作.py
javaWeb服务详解(含源代码,测试通过,注释) ——Dept的Service层
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
热门文章
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
javaWeb服务详解(含源代码,测试通过,注释) ——Dept的Dao层
javaWeb服务详解(含源代码,测试通过,注释) ——Dept的Dao层
javaWeb服务详解(含源代码,测试通过,注释) ——Emp实体类
javaWeb服务详解(含源代码,测试通过,注释) ——Emp实体类
javaWeb服务详解(含源代码,测试通过,注释) ——Dept实体类
javaWeb服务详解(含源代码,测试通过,注释) ——Dept实体类
javaWeb服务详解(含源代码,测试通过,注释)
牛客网:Boom
轻院:2214: 小明防AK
Copyright © 2011-2022 走看看