zoukankan
html css js c++ java
如何生成图片的缩略图
以下为页面:
要上传的图片
原图片
缩略图
以下为代码:
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
namespace
CommonFunction
{
/**/
///
<summary>
///
smallImg 的摘要说明。
///
</summary>
public
class
smallImg : System.Web.UI.Page
{
protected
System.Web.UI.WebControls.Label Label1;
protected
System.Web.UI.WebControls.Label Label2;
protected
System.Web.UI.WebControls.Label Label3;
protected
System.Web.UI.WebControls.Button btnUp;
protected
System.Web.UI.WebControls.Image imageSource;
protected
System.Web.UI.WebControls.Image imageSmall;
protected
System.Web.UI.HtmlControls.HtmlInputFile upImage;
//
定义image类的对象
System.Drawing.Image image,newimage;
//
图片路径
protected
string
imagePath;
//
图片类型
protected
string
imageType;
//
图片名称
protected
string
imageName;
//
提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行
//
如果此方法确定 GetThumbnailImage 方法应提前停止执行,则返回 true;否则返回 false
System.Drawing.Image.GetThumbnailImageAbort callb
=
null
;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
//
在此处放置用户代码以初始化页面
}
Web 窗体设计器生成的代码
#region
Web 窗体设计器生成的代码
override
protected
void
OnInit(EventArgs e)
{
//
//
CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base
.OnInit(e);
}
/**/
///
<summary>
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
</summary>
private
void
InitializeComponent()
{
this
.btnUp.Click
+=
new
System.EventHandler(
this
.btnUp_Click);
this
.Load
+=
new
System.EventHandler(
this
.Page_Load);
}
#endregion
private
void
btnUp_Click(
object
sender, System.EventArgs e)
{
string
mPath;
if
(
""
!=
upImage.PostedFile.FileName)
{
imagePath
=
upImage.PostedFile.FileName;
//
取得图片类型
imageType
=
imagePath.Substring(imagePath.LastIndexOf(
"
.
"
)
+
1
);
//
取得图片名称
imageName
=
imagePath.Substring(imagePath.LastIndexOf(
"
\\
"
)
+
1
);
//
判断是否是JPG或者GIF图片,这里只是举个例子,并不一定必须是这两种图片
if
(
"
jpg
"
!=
imageType
&&
"
gif
"
!=
imageType)
{
Response.Write(
"
<script language='javascript'> alert('对不起!请您选择jpg或者gif格式的图片!');</script>
"
);
return
;
}
else
{
try
{
//
建立虚拟路径
mPath
=
Server.MapPath(
"
upFile
"
);
//
保存到虚拟路径
upImage.PostedFile.SaveAs(mPath
+
"
\\
"
+
imageName);
//
显示原图
imageSource.ImageUrl
=
"
upFile/
"
+
imageName;
//
为上传的图片建立引用
image
=
System.Drawing.Image.FromFile(mPath
+
"
\\
"
+
imageName);
//
生成缩略图
newimage
=
image.GetThumbnailImage(
100
,
100
,callb,
new
System.IntPtr());
//
把缩略图保存到指定的虚拟路径
newimage.Save(Server.MapPath(
"
upFile
"
)
+
"
\\small
"
+
imageName);
//
释放image对象占用的资源
image.Dispose();
//
释放newimage对象的资源
newimage.Dispose();
//
显示缩略图
imageSmall.ImageUrl
=
"
upFile/
"
+
"
small
"
+
imageName;
Response.Write(
"
上传成功!
"
);
}
catch
{
Response.Write(
"
上传成功!
"
);
}
}
}
}
}
}
查看全文
相关阅读:
Android最流行的网络框架
linux知识库
linux tail命令使用
Android系列之Fragment(二)Fragment的生命周期和返回栈
viewpager中fragment的生命周期管理
fragment和fragmentactivity解析
Android之Activity,Fragment生命周期探知
Fragment生命周期
基础总结篇之四:Service完全解析
Activity的task相关
原文地址:https://www.cnblogs.com/qingyang/p/139928.html
最新文章
Delphi版本号对照(转)
Delphi各个版本和发展历史(转)
delphi 快捷键
Part 17 Temporary tables in SQL Server
Part 15 Scalar user defined functions in sql server
Part 12 DateTime functions in SQL Server
Part 11 string functions in sql server
Part 10 Stored procedures in sql server
Part 98 Anonymous methods in c#
Part 86 to 88 Talking about Multithreading in C#
热门文章
Part 82 to 85 Talking about Generic queue, stack collection class
Document.getElementById 与 $('#id')的区别
关于下载文件是文件名的空格显示不出来和乱码问题 转
数据库链接池
加密
token机制(Struts中知识点)
防止表单重复提交
异常处理
第二部分 linux 文件,目录,磁盘格式
js获取url传递参数
Copyright © 2011-2022 走看看