asp.net实现生成缩略图及加水印的方法示例

互联网 17-10-11
这篇文章主要介绍了asp.net实现生成缩略图及给原始图加水印的方法,结合具体实例形式分析了asp.net图片的缩略图与水印操作相关实现技巧,需要的朋友可以参考下

本文实例讲述了asp.net实现生成缩略图及给原始图加水印的方法。分享给大家供大家参考,具体如下:

using System.IO;  using System.Drawing.Imaging;  private void Button1_ServerClick(object sender, System.EventArgs e)   {    Graphics g=null;    System.Drawing.Image upimage=null;    System.Drawing.Image thumimg=null;    System.Drawing.Image simage=null;    Bitmap outputfile=null;    try     {      string extension = Path.GetExtension(File1.PostedFile.FileName).ToUpper();      string filename = DateTime.Now.ToString("yyyyMMddhhmmss");      string smallpath = Server.MapPath(".")+"/smallimg/";      string bigpath = Server.MapPath(".")+"/bigimg/";      int width,height,newwidth,newheight;      System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);      if(!Directory.Exists(smallpath))      Directory.CreateDirectory(smallpath);      if(!Directory.Exists(bigpath))      Directory.CreateDirectory(bigpath);      Stream upimgfile = File1.PostedFile.InputStream;      string simagefile = Server.MapPath("a8logo.jpg"); //要加水印的文件      simage=System.Drawing.Image.FromFile(simagefile);      upimage= System.Drawing.Image.FromStream(upimgfile); //上传的图片      width = upimage.Width;      height = upimage.Height;      if(width>height)       {        newwidth=200;        newheight =(int)((double)height/(double)width * (double)newwidth);      } else       {        newheight=200;        newwidth=(int)((double)width/(double)height * (double)newheight);      }      thumimg = upimage.GetThumbnailImage(newwidth,newheight,callb,IntPtr.Zero);      outputfile=new Bitmap(upimage);      g=Graphics.FromImage(outputfile);      g.DrawImage(simage,new Rectangle(upimage.Width-simage.Width,upimage.Height-simage.Height,upimage.Width,upimage.Height),0,0,upimage.Width,upimage.Height,GraphicsUnit.Pixel);      string newpath = bigpath + filename + extension; //原始图路径      string thumpath = smallpath + filename + extension; //缩略图路径      outputfile.Save(newpath);      thumimg.Save(thumpath);      outputfile.Dispose();    }    catch(Exception ex)     {      throw ex;    }    finally     {      if(g!=null)      g.Dispose();      if(thumimg!=null)      thumimg.Dispose();      if(upimage!=null)      upimage.Dispose();      if(simage!=null)      simage.Dispose();    }  }  public bool ThumbnailCallback()   {    return false;  }

以上就是asp.net实现生成缩略图及加水印的方法示例的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 略图
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:C#中实现复制与删除文件的方法

相关资讯