虚位以待(AD)
虚位以待(AD)
首页 > 网络编程 > ASP.NET > asp.net实现生成缩略图及给原始图加水印的方法示例

asp.net实现生成缩略图及给原始图加水印的方法示例
类别:ASP.NET   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了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相关内容感兴趣的读者可查看本站专题:《asp.net字符串操作技巧汇总》、《asp.net操作XML技巧总结》、《asp.net操作json技巧总结》、《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。

希望本文所述对大家asp.net程序设计有所帮助。

您可能感兴趣的文章:

  • ASP.NET简单好用功能齐全图片上传工具类(水印、缩略图、裁剪等)
  • asp.net上传图片并作处理水印与缩略图的实例代码
  • asp.net文件上传功能(单文件,多文件,自定义生成缩略图,水印)
  • ASP.Net 上传图片并生成高清晰缩略图
  • asp.net图片上传生成缩略图的注意事项
  • asp.net 上传图片并同时生成缩略图的代码
  • ASP.NET实现上传图片并生成缩略图的方法
  • Asp.net 文件上传类(取得文件后缀名,保存文件,加入文字水印)
  • asp.net 添加水印的代码(已测试)
  • asp.net下GDI+的一些常用应用(水印,文字,圆角处理)技巧
  • asp.net如何在图片上加水印文字具体实现
相关热词搜索: asp net 生成 缩略图 原始图 水印