zoukankan
html css js c++ java
上传并生成小图
string
simgUrl,bimgUrl;
try
{
string
strGuid
=
DateTime.Now.ToShortDateString()
+
System.Guid.NewGuid().ToString().ToLower();
string
strFileExt
=
GiftImgSrc.PostedFile.FileName.Substring(GiftImgSrc.PostedFile.FileName.LastIndexOf(
"
.
"
));
string
savebimgUrl
=
Server.MapPath(
@"
../GiftsImg
"
)
+
@"
\bimg\
"
+
strGuid
+
strFileExt.ToLower();
GiftImgSrc.PostedFile.SaveAs(savebimgUrl);
bimgUrl
=
strGuid
+
strFileExt ;
//
注意这里要用: savebimgUrl
simgUrl
=
GetThumbNail(savebimgUrl,
150
,
170
,
"
white
"
, GiftImgSrc.PostedFile.ContentType.ToString(), GiftImgSrc.PostedFile.InputStream);
}
catch
(Exception)
{
Page.RegisterStartupScript(
""
,
@"
<script>alert('上传图片与生成图形的过程出错!!\n请重试或查看是否有读写权限!!');</script>
"
);
return
;
}
private
System.Drawing.Imaging.ImageFormat GetImageType(
object
strContentType)
{
switch
(strContentType.ToString().ToLower())
{
case
"
image/pjpeg
"
:
return
System.Drawing.Imaging.ImageFormat.Jpeg;
case
"
image/gif
"
:
return
System.Drawing.Imaging.ImageFormat.Gif;
case
"
image/bmp
"
:
return
System.Drawing.Imaging.ImageFormat.Bmp;
case
"
image/tiff
"
:
return
System.Drawing.Imaging.ImageFormat.Tiff;
case
"
image/x-icon
"
:
return
System.Drawing.Imaging.ImageFormat.Icon;
case
"
image/x-png
"
:
return
System.Drawing.Imaging.ImageFormat.Png;
case
"
image/x-emf
"
:
return
System.Drawing.Imaging.ImageFormat.Emf;
case
"
image/x-exif
"
:
return
System.Drawing.Imaging.ImageFormat.Exif;
case
"
image/x-wmf
"
:
return
System.Drawing.Imaging.ImageFormat.Wmf;
default
:
return
System.Drawing.Imaging.ImageFormat.MemoryBmp;
}
}
private
string
GetThumbNail(
string
strFileName,
int
iWidth,
int
iHeight,
string
BgColor,
string
strContentType,System.IO.Stream ImgStream)
{
System.Drawing.Image oImg
=
System.Drawing.Image.FromFile(strFileName);
//
如果图直接小于生成的上图就直接上传不重生成
if
(oImg.Width
<
iWidth
&&
oImg.Height
<
iHeight)
{
string
strGuid
=
DateTime.Now.ToShortDateString()
+
System.Guid.NewGuid().ToString().ToLower();
string
strFileExt
=
strFileName.Substring(strFileName.LastIndexOf(
"
.
"
));
//
保存图片
string
strSaveUrl
=
Server.MapPath(
@"
../GiftsImg
"
)
+
@"
\simg\
"
+
strGuid
+
strFileExt.ToLower();
GiftImgSrc.PostedFile.SaveAs(strSaveUrl);
return
strGuid
+
strFileExt;
}
else
{
//
小图
int
intwidth, intheight;
if
(oImg.Width
>
oImg.Height)
{
if
(oImg.Width
>
iWidth)
{
intwidth
=
iWidth;
intheight
=
(oImg.Height
*
iWidth)
/
oImg.Width;
}
else
{
intwidth
=
oImg.Width;
intheight
=
oImg.Height;
}
}
else
{
if
(oImg.Height
>
iHeight)
{
intwidth
=
(oImg.Width
*
iHeight)
/
oImg.Height;
intheight
=
iHeight;
}
else
{
intwidth
=
oImg.Width;
intheight
=
oImg.Height;
}
}
//
oImg = oImg.GetThumbnailImage(iWidth, iheight, Nothing, (New IntPtr).Zero);
Bitmap b
=
new
Bitmap(intwidth, intheight, PixelFormat.Format24bppRgb);
Graphics g
=
Graphics.FromImage(b);
Color myColor;
if
(BgColor
==
null
)
myColor
=
Color.FromName(
"
white
"
);
else
myColor
=
Color.FromName(BgColor);
g.Clear(myColor);
//
g.DrawImage(oImg, new Rectangle((iWidth - intwidth) / 2, (iHeight - intheight) / 2, intwidth, intheight), new Rectangle(0, 0, oImg.Width, oImg.Height), GraphicsUnit.Pixel);
g.DrawImage(oImg,
new
Rectangle(
0
,
0
, intwidth, intheight),
new
Rectangle(
0
,
0
, oImg.Width, oImg.Height), GraphicsUnit.Pixel);
string
strGuid
=
DateTime.Now.ToShortDateString()
+
System.Guid.NewGuid().ToString().ToLower();
string
strFileExt
=
strFileName.Substring(strFileName.LastIndexOf(
"
.
"
));
//
保存图片
string
strSaveUrl
=
Server.MapPath(
@"
../GiftsImg
"
)
+
@"
\simg\
"
+
strGuid
+
strFileExt.ToLower();
b.Save(strSaveUrl,GetImageType(strContentType));
b.Dispose();
g.Dispose();
return
strGuid
+
strFileExt;
}
}
查看全文
相关阅读:
吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:复选框(Checkbox)和单选框(Radio)
吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:文本框(Textarea)
吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:输入框(Input)
吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:水平表单
吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:内联表单
吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单
【codeforces 707E】Garlands
【codeforces 766E】Mahmoud and a xor trip
【hiho一下 第144周】机会渺茫
【codeforces 792C】Divide by Three
原文地址:https://www.cnblogs.com/myx/p/154036.html
最新文章
几个故事告诉你,火热的区块链究竟是什么?
几个故事告诉你,火热的区块链究竟是什么?
区块链是什么?
区块链是什么?
区块链是什么?
ACM2035_(递归法求幂)
Jekyll的_config文件配置报错
CocoaPods安装教程
Spring5源码分析(1)设计思想与结构
常见前端代码整理
热门文章
1078 Hashing (25 分)
http概述——http笔记一
此处无声
TreeMap
phaser2->3:来个打地鼠试水
js知识点总结
吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:表单控件大小
吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:表单控件状态
吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:静态控件
吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:选择框(Select)
Copyright © 2011-2022 走看看