asp.net生成缩略图及给原始图加水印

王朝asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有