usando System.IO;
usando System.Drawing.Imaging;
private void Button1_ServerClick (remetente do objeto, System.EventArgs e)
{
Gráficos g=nulo;
System.Drawing.Image upimage=null;
System.Drawing.Image thumimg=null;
System.Drawing.Image imagem=null;
Arquivo de saída de bitmap=null;
tentar
{
extensão de string = Path.GetExtension(File1.PostedFile.FileName).ToUpper();
string nome do arquivo = DateTime.Now.ToString("aaaaMMddhhmmss");
string smallpath = Server.MapPath(".")+"/smallimg/";
string bigpath = Server.MapPath(".")+"/bigimg/";
largura interna, altura, nova largura, nova altura;
System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
if(!Directory.Exists(caminho pequeno))
Directory.CreateDirectory(caminho pequeno);
if(!Directory.Exists(bigpath))
Directory.CreateDirectory(bigpath);
Fluxo 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;
altura = imagem acima.Altura;
if(largura>altura)
{
nova largura = 200;
novaaltura =(int)((duplo)altura/(duplo)largura * (duplo)novalargura);
}
outro
{
novaaltura=200;
novalargura=(int)((duplo)largura/(duplo)altura * (duplo)novaaltura);
}
thumimg = upimage.GetThumbnailImage(novalargura,novaaltura,callb,IntPtr.Zero);
arquivo de saída = novo bitmap (upimage);
g=Graphics.FromImage(arquivo de saída);
g.DrawImage(simage,novo retângulo(upimage.Width-simage.Width,upimage.Height-simage.Height,upimage.Width,upimage.Height),0,0,upimage.Width,upimage.Height,GraphicsUnit.Pixel) ;
string newpath = bigpath + nome do arquivo + extensão; //原始图路径
string thumpath = caminho pequeno + nome do arquivo + extensão; //缩略图路径
arquivo de saída.Save(novocaminho);
thumimg.Save(thumpath);
arquivo de saída.Dispose();
}
catch(Exceção ex)
{
jogue ex;
}
finalmente
{
se(g!=nulo)
g.Dispose();
if(thumimg!=nulo)
thumimg.Dispose();
if(upimage!=nulo)
upimage.Dispose();
if(imagem!=nulo)
imagem.Dispose();
}
}
bool público ThumbnailCallback()
{
retornar falso;
}