zoukankan      html  css  js  c++  java
  • 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;
      }
  • 相关阅读:
    Win RT Webview获取cookie
    c#代码片段新建(sinppet)
    wp8.1启动协议
    移动开源框架
    Web开发工具箱
    比较2个字符串相似度
    js的继承
    mvc4开篇之BundleConfig(1)
    职业规划历程
    Redis Cluster管理
  • 原文地址:https://www.cnblogs.com/yamajia/p/537480.html
Copyright © 2011-2022 走看看