en utilisant System.IO ;
en utilisant System.Drawing.Imaging ;
private void Button1_ServerClick (expéditeur d'objet, System.EventArgs e)
{
Graphiques g = nul ;
System.Drawing.Image upimage=null;
System.Drawing.Image thumimg=null;
System.Drawing.Image simage=null;
Fichier de sortie bitmap=null ;
essayer
{
extension de chaîne = Path.GetExtension(File1.PostedFile.FileName).ToUpper();
string filename = DateTime.Now.ToString("aaaaMMjjhhmmss");
string smallpath = Server.MapPath(".")+"/smallimg/";
chaîne bigpath = Server.MapPath(".")+"/bigimg/";
int largeur, hauteur, nouvelle largeur, nouvelle hauteur ;
System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
if(!Directory.Exists(petit chemin))
Directory.CreateDirectory(petit chemin);
if(!Directory.Exists(bigpath))
Directory.CreateDirectory(bigpath);
Flux upimgfile = File1.PostedFile.InputStream ;
chaîne simagefile = Server.MapPath("a8logo.jpg"); //要加水印的文件
simage=System.Drawing.Image.FromFile(simagefile);
upimage=System.Drawing.Image.FromStream(upimgfile); //上传的图片
width = upimage.Width;
hauteur = upimage.Hauteur ;
si (largeur> hauteur)
{
nouvelle largeur = 200 ;
newheight =(int)((double)hauteur/(double)largeur * (double)nouvellelargeur);
}
autre
{
nouvelle hauteur = 200 ;
newwidth=(int)((double)width/(double)height * (double)newheight);
}
thumimg = upimage.GetThumbnailImage(newwidth,newheight,callb,IntPtr.Zero);
fichier de sortie = nouveau Bitmap (upimage);
g=Graphics.FromImage(fichier de sortie);
g.DrawImage(simage,nouveau Rectangle(upimage.Width-simage.Width,upimage.Height-simage.Height,upimage.Width,upimage.Height),0,0,upimage.Width,upimage.Height,GraphicsUnit.Pixel) ;
chaîne newpath = bigpath + nom de fichier + extension ; //原始图路径
chaîne thumpath = petit chemin + nom de fichier + extension ; //缩略图路径
fichier de sortie.Save (nouveau chemin);
thumimg.Save(thumpath);
fichier de sortie.Dispose();
}
attraper(Exception ex)
{
jeter ex;
}
enfin
{
si (g! = nul)
g.Dispose();
si(thumimg!=null)
thumimg.Dispose();
si(upimage!=null)
upimage.Dispose();
si(simage!=null)
simage.Dispose();
}
}
public bool ThumbnailCallback()
{
renvoie faux ;
}