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;
}
}
查看全文
相关阅读:
Appium元素定位方式
Selenium和Appium的关系
再生龙备份恢复
删除CentOS更新后的旧内核
文字识别网站https://ocr.space/
kubeasz部署高可用kubernetes1.17.2 并实现traefik2.1.2部署 亲测可用
docker之Dockerfile实践用dockerfile构建nginx环境
WordPress如何设置先登录再进入主页
docker 容器使用 systemctl 命令是报错
bilibili
原文地址:https://www.cnblogs.com/myx/p/154036.html
最新文章
java字符串转json,json转对象
java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors
IDEA如何将分支代码合并到master
IntelliJ IDEA像Eclipse一样打开多个项目
linux+python3.6环境安装pygame
一次简单的内网渗透环境搭建及练手
阿里云服务器安装配置jupyter
CVE-2019-0232漏洞复现
cisco交换机基础命令-总结
windows核心编程课程实践---多线程文件搜索器(MFC界面)
热门文章
ms-setting是什么
PIX防火墙配置A/S故障切换
pix三接口配置
MFC---编辑框控件
Selenium_Python实践遇到的问题一:页面存在多窗口时,window_handles属性在保存窗口句柄列表时的顺序不一定和打开页面的顺序一致
Selenium_Python接口-实例对象操作类WebDriver
Selenium_Python接口-元素操作类WebElement
Selenium_Python接口-鼠标操作类ActionChains
Selenium_Python接口-Alert类
手机屏幕向上、向下滑动
Copyright © 2011-2022 走看看