您的位置:首页 > 编程语言 > ASP

asp.net 中如何得到图片的高度(height)和宽度(width)以及生成图片的缩略图 C#

2008-03-30 20:38 736 查看
.net 开发中,需要得到图片的高和宽。代码如下所示:

protected string imgPath;
protected string fileExtName;

private void btnGet_Click(object sender, System.EventArgs e)
{
if(upImage.PostedFile.FileName != "")
{
imgPath =upImage.PostedFile.FileName;
fileExtName = imgPath.Substring(imgPath.LastIndexOf(".")+1,3);

if(fileExtName !="gif" && fileExtName != "jpg")
{
Response.Write("请选择GIF和JPG格式的图片");
}
else
{
System.Drawing.Image image = System.Drawing.Image.FromFile(imgPath);
txtHeight.Text = image.Height.ToString();
txtWidth.Text = image.Width.ToString();
}
}
else
{
Response.Write("请选择图片!");
}
}

生成图片的缩略图的方法

//定义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 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("上传成功!");
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: