在ASP.NET中实现上传图片,并按比例生成缩略图

原创 2007年10月09日 09:55:00
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();
   }

}
   
 

在ASP.NET中实现上传图片,并按比例生成缩略图

private void btnUploadPicture_Click(object sender, System.EventArgs e) {    //检查上传文件的格式是否有效    if...
  • lwq8992628351
  • lwq8992628351
  • 2013年04月28日 12:29
  • 261

Java实现图片等比例缩略图

环境搭建: web.xml
  • btt2013
  • btt2013
  • 2016年10月30日 10:38
  • 1552

.net mvc中上传图片生成缩略图

#region CreateThumbnail //HttpPostedFileBase在webform里改成HttpPostedFile           private string Crea...
  • pukuimin1226
  • pukuimin1226
  • 2013年08月22日 09:28
  • 4083

thinkphp上传图片并批量生成不同尺寸缩略图

1、配置信息 //****************************各种类型图片缩略图尺寸设置*************************// 'IMAGES_THUMB...
  • chadxia88_go
  • chadxia88_go
  • 2017年04月19日 15:29
  • 751

Java 实现图片等比例缩略图 (Thumbnailator + Jsp+SpringMVC)

Web应用为上传图片生成缩略图是常见的基本功能,通过缩略图生成提高了信息浏览时的性能,在保证用户使用体验的同时减少了数据传输量。本次以实例的方式,讲解如何使用使用Java实现图片等比例缩略图生成功能。...
  • wenteryan
  • wenteryan
  • 2016年05月08日 16:07
  • 3028

C# 上传文件并生成缩略图

#region 上传文件并生成缩略图         ///         /// 上传文件并生成缩略图         ///         /// 上传控件         /// 上传目...
  • mss359681091
  • mss359681091
  • 2016年04月06日 14:09
  • 1041

asp.net显示高清缩略图

来源于http://blog.csdn.net/yanghua_kobe/article/details/4733223 如题:   添加命名空间如下: using...
  • F7ANTY
  • F7ANTY
  • 2015年01月22日 21:21
  • 406

java图片裁剪和java生成缩略图

一、缩略图在浏览相册的时候,可能需要生成相应的缩略图。 直接上代码:public class ImageUtil { private Logger log = LoggerFactory.ge...
  • u012385190
  • u012385190
  • 2017年01月10日 10:54
  • 3767

C# 生成图片缩略图

最近项目有部分需求,是关于图片操作部分的, 大致的功能就是图片的保存和展示。但是直接操作原图,程序运行效率太慢。而且如果传输数据量过大的话,可能直接导致调用WCF服务失败的问题。 为了解决这个问题,决...
  • u010028869
  • u010028869
  • 2014年10月26日 23:59
  • 2440

ASP.NET生成缩略图的代码

ASP.NET生成缩略图,只需你给定要生成的图片路径,生成后存放的服务器路径,生成方式,生成的尺寸,还有生成后的图片类型,即可为你生成合适的缩略图。     ASP.NET中生成缩略图,只需...
  • u013823843
  • u013823843
  • 2014年03月01日 15:42
  • 197
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在ASP.NET中实现上传图片,并按比例生成缩略图
举报原因:
原因补充:

(最多只允许输入30个字)