生成缩略图加水印

 
using  System;
using  System.Collections;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Drawing.Imaging;
using  System.Web;
using  System.Web.SessionState;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;
using  System.IO;
using  reg_transfer_firstpage_parametersx;

namespace  mengwen
{
 
///   <summary>
 
///  person_reg_3 的摘要说明。
 
///   </summary>
  public   class  person_reg_3 : System.Web.UI.Page
 {
  
protected  System.Web.UI.WebControls.Button Login;
  
protected  System.Web.UI.HtmlControls.HtmlInputFile filename1;
  
protected  System.Web.UI.HtmlControls.HtmlInputFile filename2;
  
protected  System.Web.UI.WebControls.Button upload;
 
  
private   void  Page_Load( object  sender, System.EventArgs e)
  {
   
// Response.Write(reg_transfer_firstpage_parameters.a);
   
   
//  在此处放置用户代码以初始化页面
  }

  
#region  Web 窗体设计器生成的代码
  
override   protected   void  OnInit(EventArgs e)
  {
   
//
   
//  CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   
//
   InitializeComponent();
   
base .OnInit(e);
  }
  
  
///   <summary>
  
///  设计器支持所需的方法 - 不要使用代码编辑器修改
  
///  此方法的内容。
  
///   </summary>
   private   void  InitializeComponent()
  {    
   
this .upload.Click  +=   new  System.EventHandler( this .upload_Click);
   
this .Load  +=   new  System.EventHandler( this .Page_Load);

  }
  
#endregion

  
private   void  upload_Click( object  sender, System.EventArgs e)
  {
   
// string username="fwy"; // 可以从上一页面获取
    string  myText = " 梦文时代 Mengwen.com " ;
   upLoad(filename1,
" person_idcard/ " , true , true ,myText, null );
   upLoad(filename2,
" person_jobphoto/ " , true , true ,myText, " fwy " );
   
  }
  
private   void  upLoad(System.Web.UI.HtmlControls.HtmlInputFile fileInput, string  myPath, bool  shuiYin, bool  miniPhoto, string  addText, string  photoName)
  
/*
   ◆我是君心千年泪,时不回,心誓褪。情随梦飞,再滴落,无味,不如水!
   2006年2月7日晚搞此图片上传的类直到0:30,一直都在完善,总想搞出一个尽善尽美的类来,然后发布供以后使用而不需要老是去设计
   做程序其实有时也是一个很有意义的事情,让你很投入,让你很有成就感,虽然是一个很不起眼的成就,但却是这样一些小的成功铸就了一个凡人的自信
   但愿梦文时代能够早日开发完成,马上就"奔四"的人了,时间就是一切,赢得时间就赢得一切
   联想昭阳K71-梦文手记
   外面好厚的棉花糖还没销去,冷哦,睡觉了,睡觉了,………………………………
  
*/
  {
   HttpPostedFile myFile
= fileInput.PostedFile;
   
string  name1;
   
string  opositePath = Server.MapPath(myPath);
   
if ( ! Directory.Exists(opositePath))Directory.CreateDirectory(opositePath);
   
// string name1;
    if (myFile != null )
   {
    
// HttpFileCollection MyFileColl = HttpContext.Current.Request.Files; 
    
// HttpPostedFile MyPostedFile = MyFileColl[0]; 
     string  fileInput_Name,fileInput_Type,fileInput_FileLength;
    
int  myPos = myFile.FileName.LastIndexOf( " / " );
    
int  myTypeInt  = myFile.FileName.LastIndexOf( " . " );
    fileInput_Name
= myFile.FileName.Substring(myPos + 1 );
    fileInput_Type
= myFile.ContentType;
    fileInput_Type
+= " ( " + myFile.FileName.Substring(myTypeInt) + " ) " ;
    fileInput_FileLength
= myFile.ContentLength.ToString();
//     string mySavePath=Server.MapPath("person_idcard/")+filename1_Name;
             
    
    
// 下面是开始处理缩略图的名称,先把图片名和扩展名分开,因为想要在图片名前加点自定义的标识,以区别是否是缩略图
     int  x = fileInput_Name.IndexOf( " . " );
    name1
= fileInput_Name.Substring( 1 ,x - 1 );
    
string  name2 = fileInput_Name.Substring(x);
    
if (photoName == ""   ||  photoName == null )
    {
     name1
= fileInput_Name.Substring( 0 ,x - 1 );
    }
    
else
    {
     name1
= photoName;
    }
   
//  Response.Write(name1);
   
//  Response.End();
     string  mySavePath1 = opositePath + name1 + " _temp " + name2;
    
// 处理缩略图的名称结束

    
// 下面是开始处理缩略图的名称,先把图片名和扩展名分开,因为想要在图片名前加点自定义的标识,以区别是否是缩略图
     string  mySavePath2 = opositePath + name1 + " _s " + name2;
    
// 处理缩略图的名称结束

             
string  mySavePath = opositePath + name1 + name2;
    myFile.SaveAs(mySavePath);

    
if (shuiYin == true )
    {
     
// =========================================================
     
// 开始给图片加水印
     System.Drawing.Image newImage  =  System.Drawing.Image.FromFile(mySavePath);
     Graphics g 
=  Graphics.FromImage(newImage);
     g.DrawImage(newImage, 
0 0 , newImage.Width, newImage.Height);
     Font f 
=   new  Font( " Verdana " 20 );
     Brush b 
=   new  SolidBrush(Color.Red);
     
// string addText = AddText.Value.Trim();
     
// string addText1="梦文时代 Mengwen.com";
     
// 此处为设置要加成水印的文字
      string  addText1 = addText;
     g.DrawString(addText1, f, b, 
20 10 );
     
// g.DrawString(要加的文字,字体及大小,笔触及颜色,起笔时离图片左边的距离也就是X轴,起笔时离图片顶部的距离也就是Y轴但是向下算的);
     g.Dispose();
     
// 给图片加水印结束
     
// =========================================================
     
// string newPath = Server.MapPath(".") + "/UploadFile/" + fileName + "_new" + extension;                // 将加过水印的图片替换原来没有水印的图片并且进行保存
     newImage.Save(mySavePath1);
     newImage.Dispose();
     
if (File.Exists(mySavePath))
     {
      File.Delete(mySavePath);
     }
     
// 将加过水印的图片保存结束
     
// ==========================================================
    }
    
    
if (miniPhoto == true )
    {
     
// Response.Write(filename1_Name+","+filename1_Type+","+filename1_FileLength);
     
// =====================================
     
// 开始生成缩略图并保存到另外的文件夹
     System.Drawing.Image image,aNewImage;
     
int  width,height,newwidth,newheight;
     System.Drawing.Image.GetThumbnailImageAbort callb
= null ;
     image
= System.Drawing.Image.FromFile(mySavePath1);
     width
= image.Width;
     height
= image.Height;
     newwidth
= 120 ;
     newheight
= 90 ;

     
/*
        'if width>height then
        'newwidth=150
        'newheight=image.height/image.Width*newwidth
        'else
        'newheight=150
        'newwidth=image.Width/image.height*newheight
        'end if
        
*/
    
     aNewImage
= image.GetThumbnailImage(newwidth,newheight,callb, new  System.IntPtr());
     aNewImage.Save(mySavePath2);
     image.Dispose();
   
     
// 生成缩略图并保存到另外的文件夹结束
     
// =======================================
    }

   }
   }

 }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值