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;
}
}
查看全文
相关阅读:
洛谷P2569 (BZOJ1855)[SCOI2010]股票交易 【单调队列优化DP】
洛谷 P2254 [NOI2005]瑰丽华尔兹(单调栈优化DP)
CF372C Watching Fireworks is Fun(单调队列优化DP)
2019牛客全国多校第八场A题 All-one Matrices(单调栈)
HDU3896 Greatest TC(双联通分量+倍增)
2019牛客多校第7场
ZOJ 2112 Dynamic Rankings(树状数组+主席树)
2019 杭电多校第六场 题解
HDU2242 考研路茫茫——空调教室 (双联通分+树形DP)
HDU5536 Chip Factory
原文地址:https://www.cnblogs.com/myx/p/154036.html
最新文章
安装FastFDS
阿里云服务器常见漏洞修复整理
linux下安装RabbitMQ
redis主从配置+哨兵配置
mysql服务器优化配置文件
BZOJ4592: [Shoi2015]脑洞治疗仪
LOJ#10117. 「一本通 4.1 练习 2」简单题
BZOJ2039: [2009国家集训队]employ人员雇佣
BZOJ1791: [Ioi2008]Island 岛屿
BZOJ3091: 城市旅行
热门文章
BZOJ5020: [THUWC 2017]在美妙的数学王国中畅游
BZOJ1934: [Shoi2007]Vote 善意的投票
BZOJ3438: 小M的作物
BZOJ1066: [SCOI2007]蜥蜴
BZOJ2325: [ZJOI2011]道馆之战
P4072 [SDOI2016](BZOJ4518) 征途 [斜率优化DP]
2019 牛客多校第九场
2019杭电多校第八场
2019杭电多校第七场
HDU4670 cube number on a tree(点分治+三进制加法)
Copyright © 2011-2022 走看看