在ASP.NET中上传图片并生成缩略图

在ASP.NET中上传图片并生成缩略图,可以参照下列代码:

private void btnUploadPicture_Click(object sender, System.EventArgs e)
{
//检查上传文件的格式是否有效
if(this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0)
{
Response.Write("上传图片格式无效!");
return;
}
//生成原图
Byte[] oFileByte = new byte[this.UploadFile.PostedFile.ContentLength];
System.IO.Stream oStream = this.UploadFile.PostedFile.InputStream;
System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream);
int oWidth = oImage.Width; //原图宽度
int oHeight = oImage.Height; //原图高度
int tWidth = 100; //设置缩略图初始宽度
int tHeight = 100; //设置缩略图初始高度
//按比例计算出缩略图的宽度和高度
if(oWidth >= oHeight)
{
tHeight = (int)Math.Floor(Convert.ToDouble(oHeight) * (Convert.ToDouble(tWidth)
/ Convert.ToDouble(oWidth)));
}
else
{
tWidth = (int)Math.Floor(Convert.ToDouble(oWidth) * (Convert.ToDouble(tHeight)
/ Convert.ToDouble(oHeight)));
}
//生成缩略原图
Bitmap tImage = new Bitmap(tWidth,tHeight);
Graphics g = Graphics.FromImage(tImage);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量插值法
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//设置高质量,低速度呈现平滑程度
g.Clear(Color.Transparent); //清空画布并以透明背景色填充
g.DrawImage(oImage,new Rectangle(0,0,tWidth,tHeight),
new Rectangle(0,0,oWidth,oHeight),GraphicsUnit.Pixel);
string oFullName = Server.MapPath(".") + "/" + "o" +
DateTime.Now.ToShortDateString().Replace("-","") + DateTime.Now.Hour.ToString()
+ DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString()
+ DateTime.Now.Millisecond.ToString() + ".jpg"; //保存原图的物理路径
string tFullName = Server.MapPath(".") + "/" + "t" +
DateTime.Now.ToShortDateString().Replace("-","") + DateTime.Now.Hour.ToString()
+ DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString()
+ DateTime.Now.Millisecond.ToString() + ".jpg"; //保存缩略图的物理路径
try
{
//以JPG格式保存图片
oImage.Save(oFullName,System.Drawing.Imaging.ImageFormat.Jpeg);
tImage.Save(tFullName,System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch(Exception ex)
{
throw ex;
}
finally
{
//释放资源
oImage.Dispose();
g.Dispose();
tImage.Dispose();
}
}

时间: 2024-08-20 16:25:55

在ASP.NET中上传图片并生成缩略图的相关文章

在ASP.NET中上传图片并生成缩略图的C#源码

asp.net|上传|上传图片|缩略图 在ASP.NET中上传图片并生成缩略图的C#源码 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 Sys

代码实例:在ASP.NET中上传图片并生成缩略图

asp.net|上传|上传图片|缩略图 private void btnUploadPicture_Click(object sender, System.EventArgs e) {    //检查上传文件的格式是否有效    if(this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0)    {     Response.Write("上传图片格式无效!");     r

ASP.NET实现上传图片并生成缩略图的方法_实用技巧

本文实例讲述了ASP.NET实现上传图片并生成缩略图的方法.分享给大家供大家参考,具体如下: protected void bt_upload_Click(object sender, EventArgs e) { //检查上传文件的格式是否有效 if (this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0) { Response.Write("上传图片格式无效!"); re

在ASP.NET中上传图片并生成带版权信息的缩略图

asp.net|上传|上传图片|缩略图 前台:<HTML>    <HEAD>        <title>WebForm3</title>            </HEAD>    <body>        <form id="Form1" method="post" runat="server">             <INPUT id=&quo

求助,asp.net中上传图片

问题描述 求助,asp.net中上传图片 asp.net上传图片,点击浏览选择图片之后,想在img标签中直接预览图片,但是还未上传图片到服务器,各位大神,该如何实现呢?谢谢 解决方案 http://www.vipcn.com/wangluobiancheng/AspNet/312757.html 解决方案二: 在ASP.NET中上传图片并生成缩略图在ASP.NET中上传图片并生成缩略图在ASP.NET中上传图片并生成缩略图 解决方案三: javascript客户端图片预览

asp.net中生在文章缩略图并加入图片信息

asp.net|缩略图 asp.net中生在文章缩略图,并在图片上加入图片版板等信息  //定义image类的对象     Drawing.Image image,newimage;  //图片路径  protected string imagePath;  //图片类型  protected string imageType;  //图片名称  protected string imageName;   //提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行  //

thinkPHP实现上传图片及生成缩略图功能示例

本文实例讲述了thinkPHP实现上传图片及生成缩略图功能.分享给大家供大家参考,具体如下: 记录一下在thinkPHP上传图片的方法(Upload)和生成缩略图(Image)的方法. html页面form中必须加enctype="multipart/form-data" <form action="__SELF__" method="post" enctype="multipart/form-data"> <

我的ASP之旅—无组件生成缩略图

缩略图|无组件 网上有不少生成缩略图的ASP组件.若你的虚拟空间不支持注册新组件,可能会感觉自己的网站失色不少.心晴不才,结合网上资源写了个无组件生成缩略图程序,仅供参考.        还是先看看基础部分吧.首先,我们知道在页面中显示图片是如下代码:        <img src="http://www.163design.net/a/f/pic.gif" border="0" width="300" height="260&

ASP组件AspJpeg(加水印)生成缩略图等使用方法_应用技巧

一.为图片添加水印 复制代码 代码如下: <% Dim Jpeg ''''//声明变量 Set Jpeg = Server.CreateObject("Persits.Jpeg") ''''//调用组件 Jpeg.Open Server.MapPath("aaa.JPG") ''''//源图片位置 Jpeg.Canvas.Font.Color = &H000000 ''''//水印字体颜色 Jpeg.Canvas.Font.Family = "