private
void
btnUploadPicture_Click(
object
sender, System.EventArgs e){
//
检查上传文件的格式是否有效
if
(
this
.UploadFile.PostedFile.ContentType.ToLower().IndexOf(
"
image
"
)
<
0
) { Response.Write(
"
上传图片格式无效!
"
);
return
; }
//
生成原图
Byte[] oFileByte
=
new
byte
[
this
.UploadFile.PostedFile.ContentLength]; System.IO.Stream oStream
=
this
.UploadFile.PostedFile.InputStream; System.Drawing.Image oImage
=
System.Drawing.Image.FromStream(oStream);
int
oWidth
=
oImage.Width;
//
原图宽度
int
oHeight
=
oImage.Height;
//
原图高度
int
tWidth
=
100
;
//
设置缩略图初始宽度
int
tHeight
=
100
;
//
设置缩略图初始高度
//
按比例计算出缩略图的宽度和高度
if
(oWidth
>=
oHeight) { tHeight
=
(
int
)Math.Floor(Convert.ToDouble(oHeight)
*
(Convert.ToDouble(tWidth)
/
Convert.ToDouble(oWidth))); }
else
{ tWidth
=
(
int
)Math.Floor(Convert.ToDouble(oWidth)
*
(Convert.ToDouble(tHeight)
/
Convert.ToDouble(oHeight))); }
//
生成缩略原图
Bitmap tImage
=
new
Bitmap(tWidth,tHeight); Graphics g
=
Graphics.FromImage(tImage); g.InterpolationMode
=
System.Drawing.Drawing2D.InterpolationMode.High;
//
设置高质量插值法
g.SmoothingMode
=
System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//
设置高质量,低速度呈现平滑程度
g.Clear(Color.Transparent);
//
清空画布并以透明背景色填充
g.DrawImage(oImage,
new
Rectangle(
0
,
0
,tWidth,tHeight),
new
Rectangle(
0
,
0
,oWidth,oHeight),GraphicsUnit.Pixel);
string
oFullName
=
Server.MapPath(
"
.
"
)
+
"
/
"
+
"
o
"
+
DateTime.Now.ToShortDateString().Replace(
"
-
"
,
""
)
+
DateTime.Now.Hour.ToString()
+
DateTime.Now.Minute.ToString()
+
DateTime.Now.Second.ToString()
+
DateTime.Now.Millisecond.ToString()
+
"
.jpg
"
;
//
保存原图的物理路径
string
tFullName
=
Server.MapPath(
"
.
"
)
+
"
/
"
+
"
t
"
+
DateTime.Now.ToShortDateString().Replace(
"
-
"
,
""
)
+
DateTime.Now.Hour.ToString()
+
DateTime.Now.Minute.ToString()
+
DateTime.Now.Second.ToString()
+
DateTime.Now.Millisecond.ToString()
+
"
.jpg
"
;
//
保存缩略图的物理路径
try
{
//
以JPG格式保存图片
oImage.Save(oFullName,System.Drawing.Imaging.ImageFormat.Jpeg); tImage.Save(tFullName,System.Drawing.Imaging.ImageFormat.Jpeg); }
catch
(Exception ex) {
throw
ex; }
finally
{
//
释放资源
oImage.Dispose(); g.Dispose(); tImage.Dispose(); }}
转载请注明原文地址: https://ibbs.8miu.com/read-15020.html