menggunakan Sistem.IO;
menggunakan System.Drawing.Imaging;
private void Button1_ServerClick(pengirim objek, System.EventArgs e)
{
Grafik g=null;
Sistem.Gambar.Gambar upimage=null;
Sistem.Gambar.Gambar thumimg=null;
Sistem.Gambar.Gambar gambar=null;
File keluaran bitmap=null;
mencoba
{
ekstensi string = Path.GetExtension(File1.PostedFile.FileName).ToUpper();
string nama file = DateTime.Now.ToString("yyyyMMddhhmmss");
string smallpath = Server.MapPath(".")+"/smallimg/";
string bigpath = Server.MapPath(".")+"/bigimg/";
int lebar, tinggi, lebar baru, tinggi baru;
System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
if(!Direktori.Ada(jalan kecil))
Direktori.BuatDirektori(jalan kecil);
if(!Direktori.Ada(jalur besar))
Direktori.BuatDirektori(jalur besar);
Aliran upimgfile = File1.PostedFile.InputStream;
string simagefile = Server.MapPath("a8logo.jpg"); //要加水印的文件
simage=Sistem.Gambar.Gambar.DariFile(simagefile);
upimage= Sistem.Gambar.Gambar.FromStream(upimgfile); //上传的图
fotowidth = upimage.Width;
tinggi = upimage.Tinggi;
jika(lebar>tinggi)
{
lebar baru=200;
tinggi baru =(int)((ganda)tinggi/(ganda)lebar * (ganda)lebar baru);
}
kalau tidak
{
tinggi baru=200;
lebar baru=(int)((ganda)lebar/(ganda)tinggi * (ganda)tinggi baru);
}
thumimg = upimage.GetThumbnailImage(lebar baru,tinggi baru,panggilanb,IntPtr.Zero);
file keluaran=Bitmap baru(gambar atas);
g=Grafik.FromImage(file keluaran);
g.DrawImage(simage,persegi panjang baru(upimage.Width-simage.Width,upimage.Height-simage.Height,upimage.Width,upimage.Height),0,0,upimage.Width,upimage.Height,GraphicsUnit.Pixel) ;
string newpath = bigpath + nama file + ekstensi; //原始图路径
string thumpath = smallpath + nama file + ekstensi; //缩略图路径
file keluaran.Simpan(jalur baru);
thumimg.Simpan(thumpath);
file keluaran.Buang();
}
menangkap (Pengecualian ex)
{
membuang mantan;
}
Akhirnya
{
jika(g!=batal)
g.Buang();
if(thumimg!=null)
thumimg.Buang();
jika(gambar atas!=null)
upimage.Buang();
if(gambar!=null)
gambar.Buang();
}
}
bool publik ThumbnailCallback()
{
kembali salah;
}