chaalesh
شنبه 15 دی 1386, 18:59 عصر
من بعد upload تصویر سایز اونو تغییر میدم تا آرایش صحفه ام رو بهم نریزه ولی وقتی میذارم روی وب یه اتفاق عجیبی می افته عکس کوچک ساخته شده حجمش خیلی بزرگتر از عکس اصلی است
مثال : اصلی : 6.5 کیلو بایت
تصویر کوچک : 18 کیلو بایت
کد من برای اینکار :
System.Drawing.Image img = System.Drawing.Image.FromFile(SaveLocation);
System.Drawing.Image.GetThumbnailImageAbort myCallback = new System.Drawing.Image.GetThumbnailImageAbort(Thumbn ailCallback);
float rabeteY = img.Width;
float rabeteH = img.Height;
if (img.Height > 90)
{
rabeteH = 90;
rabeteY = (90* img.Width )/img.Height ;
}
else
if (img.Width > 120)
{
rabeteY = 120;
rabeteH = (120*img.Height )/img.Width ;
}
Bitmap IMMGG = newBitmap(SaveLocation);
System.Drawing.Image f = IMMGG.GetThumbnailImage((int)rabeteY, (int)rabeteH, myCallback, IntPtr.Zero);
SaveLocation2 = intDemandID.ToString() + File2.PostedFile.FileName.Substring(File2.PostedFi le.FileName.LastIndexOf('.'));
SaveLocation = Server.MapPath("img/") + SaveLocation2;
f.Save(SaveLocation);
مثال : اصلی : 6.5 کیلو بایت
تصویر کوچک : 18 کیلو بایت
کد من برای اینکار :
System.Drawing.Image img = System.Drawing.Image.FromFile(SaveLocation);
System.Drawing.Image.GetThumbnailImageAbort myCallback = new System.Drawing.Image.GetThumbnailImageAbort(Thumbn ailCallback);
float rabeteY = img.Width;
float rabeteH = img.Height;
if (img.Height > 90)
{
rabeteH = 90;
rabeteY = (90* img.Width )/img.Height ;
}
else
if (img.Width > 120)
{
rabeteY = 120;
rabeteH = (120*img.Height )/img.Width ;
}
Bitmap IMMGG = newBitmap(SaveLocation);
System.Drawing.Image f = IMMGG.GetThumbnailImage((int)rabeteY, (int)rabeteH, myCallback, IntPtr.Zero);
SaveLocation2 = intDemandID.ToString() + File2.PostedFile.FileName.Substring(File2.PostedFi le.FileName.LastIndexOf('.'));
SaveLocation = Server.MapPath("img/") + SaveLocation2;
f.Save(SaveLocation);