ورود

View Full Version : کوچک کردن عکس بدون افت کیفیت هنگام آپلود



naser_feb8646
دوشنبه 16 اسفند 1389, 22:09 عصر
سلام
دوستان چطور میتونم سایز عکس رو کوچک کنم بدون اینکه کیفیت اون تغییر کنه و بعد بر روی سرور ذخیره کنم
خودم با Thumbnail اینکار کردم ولی کیفیت عکس خیلی خراب شد میشه لطف کنید و کمکم کنید

Behrang_a
سه شنبه 17 اسفند 1389, 07:34 صبح
ببین این کمکت میکنه ؟




//Creating Image Based On Selected File
System.Drawing.Image img = System.Drawing.Image.FromFile(Request.Files[0].FileName);
//Creating a Bitmap with size (3x4 cm in 72dpi)
Bitmap B = new Bitmap(85, 113);
B.SetResolution(72F, 72F);
//Creating a graphic from our bitmap then draw our image in it

Graphics g = Graphics.FromImage((System.Drawing.Image)B);
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQu ality;
g.DrawImage(img, 0, 0, 85, 113);
g.Dispose();
//Saving the Bitmap
B.Save(Server.MapPath(Request.ApplicationPath) + "\\Photos\\" + ".Png", System.Drawing.Imaging.ImageFormat.Png);




من رزولوشن رو 72 استفاده کرده بودم چون نیاز داشتم حجم عکسام هم پائین باشه و ضمن اینکه سایز دقیقا درست در بیاد اگه رزولوشن رو عوض کنی دیگه اون اندازه 85 در 113 عکس رو 3در4 نمیکنه . که شاید هم تو 3در 4 نخوای
استفاده از HighQuality برای CompositingQuality و بعد هم پسوند Png کیفیت عکس رو خیلی کم افت میده
حالا امتحان کن ببین چطوری میشه

naser_feb8646
سه شنبه 17 اسفند 1389, 17:45 عصر
ببین این کمکت میکنه ؟




//Creating Image Based On Selected File
System.Drawing.Image img = System.Drawing.Image.FromFile(Request.Files[0].FileName);
//Creating a Bitmap with size (3x4 cm in 72dpi)
Bitmap B = new Bitmap(85, 113);
B.SetResolution(72F, 72F);
//Creating a graphic from our bitmap then draw our image in it

Graphics g = Graphics.FromImage((System.Drawing.Image)B);
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQu ality;
g.DrawImage(img, 0, 0, 85, 113);
g.Dispose();
//Saving the Bitmap
B.Save(Server.MapPath(Request.ApplicationPath) + "\\Photos\\" + ".Png", System.Drawing.Imaging.ImageFormat.Png);




من رزولوشن رو 72 استفاده کرده بودم چون نیاز داشتم حجم عکسام هم پائین باشه و ضمن اینکه سایز دقیقا درست در بیاد اگه رزولوشن رو عوض کنی دیگه اون اندازه 85 در 113 عکس رو 3در4 نمیکنه . که شاید هم تو 3در 4 نخوای
استفاده از HighQuality برای CompositingQuality و بعد هم پسوند Png کیفیت عکس رو خیلی کم افت میده
حالا امتحان کن ببین چطوری میشه

سلام
دوست عزیز ممنون از کمکتون
میشه بفرمایید توی خطی که با قرمز نشونش دادم چه اتفاقی افتاده چون من هرکاری میکنم پیام خطا میده

naser_feb8646
سه شنبه 17 اسفند 1389, 17:53 عصر
دوست عزیز با تشکر حل شد

asif1358
چهارشنبه 18 اسفند 1389, 02:46 صبح
یه مقاله کاملتر در این مورد در سایت خود گذاشته ام؛ بدنیست یه نگاهی بندازین
http://www.fekrenaw.com/TopicDetails.aspx?tid=31

Behrang_a
چهارشنبه 18 اسفند 1389, 07:17 صبح
دوست عزیز با تشکر حل شد

فکر کنم دیر رسیدم :لبخند: به هر حال اون خط یه شئ گرافیک رو از Bitmap با مشخصاتی که داده بودیم میساخت بعد عکس رو توی اون میکشید

Behrang_a
چهارشنبه 18 اسفند 1389, 07:26 صبح
یه مقاله کاملتر در این مورد در سایت خود گذاشته ام؛ بدنیست یه نگاهی بندازین
http://www.fekrenaw.com/TopicDetails.aspx?tid=31

خیلی سایت خوبیه من که حال کردم ، امیدوارم گسترده ترش کنی