باستخدام System.IO؛
باستخدام System.Drawing.Imaging؛
باطلة خاصة Button1_ServerClick (مرسل الكائن، System.EventArgs e)
{
الرسومات ز = فارغة؛
System.Drawing.Image upimage=null;
System.Drawing.Image thumimg=null;
System.Drawing.Image simage=null;
ملف إخراج الصورة النقطية=null;
يحاول
{
امتداد السلسلة = Path.GetExtension(File1.PostedFile.FileName).ToUpper();
اسم ملف السلسلة = DateTime.Now.ToString("yyyyMMddhhmmss");
string Smallpath = Server.MapPath(".")+"/smallimg/";
string bigpath = Server.MapPath(".")+"/bigimg/";
عرض int، الارتفاع، العرض الجديد، الارتفاع الجديد؛
System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
إذا (! الدليل. موجود (مسار صغير))
Directory.CreateDirectory(smallpath);
إذا (! الدليل. موجود (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); //
عرض الصورة المعروضة = upimage.Width;
height = upimage.Height;
إذا (العرض> الارتفاع)
{
العرض الجديد=200;
newheight =(int)((double)height/(double)width * (double)newwidth);
}
آخر
{
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) ;
سلسلة مسار جديد = bigpath + اسم الملف + الامتداد؛ //原始图路径
سلسلة thumpath = مسار صغير + اسم الملف + الامتداد؛ // 缩略图路径
inputfile.Save(newpath);
thumimg.Save(thumpath);
Outputfile.Dispose();
}
قبض (استثناء على سبيل المثال)
{
رمي السابقين؛
}
أخيراً
{
إذا (ز! = فارغة)
g.Dispose();
إذا (thumimg! = فارغة)
thumimg.Dispose();
إذا (upimage!=null)
upimage.Dispose();
إذا (simage! = فارغة)
simage.Dispose();
}
}
المنطق العام ThumbnailCallback()
{
عودة كاذبة.
}