تغییر سایز عکس در سی شارپ
بسم الله الرحمن الرحیم
تغییر سایز عکس در سی شارپ
در بسیاری از پروژه ها ممکن است شما نیاز داشته باشید تصویر ارسالی از سوی کاربر را تغییر اندازه دهید و با یک سایز جدید و حجم کاهش یافته بر روی سرور ذخیره نمایید. کلاسی را برای این منظور در اینجا قرار داده ایم که به سادگی می توانید از آن استفاده کنید.
متد اصلی ما به صورت زیر خواهد بود
public void SaveImage(HttpPostedFileBase thumbnailImageUpload,int width, int height )
{
var path = Server.MapPath("~/Images/Venue/thumbnailUpload");
Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap myBitmap = new Bitmap(thumbnailImageUpload.InputStream);
Image myThumbnail = myBitmap.GetThumbnailImage(
width, height, myCallback, IntPtr.Zero);
var fileName = thumbnailImageUpload.FileName;
myThumbnail.Save(path + "/" + fileName);
}
thumbnailImageUpload نام کنترل FileUpload می باشد که توسط آن فایل ما به این متد معرفی شده است.
توسط دستور Server.MapPath مسیری را که باید تصویر ما در آن ذخیره شود مشخص می کنیم.
بسم الله الرحمن الرحیم
تغییر سایز عکس در سی شارپ
در بسیاری از پروژه ها ممکن است شما نیاز داشته باشید تصویر ارسالی از سوی کاربر را تغییر اندازه دهید و با یک سایز جدید و حجم کاهش یافته بر روی سرور ذخیره نمایید. کلاسی را برای این منظور در اینجا قرار داده ایم که به سادگی می توانید از آن استفاده کنید.
متد اصلی ما به صورت زیر خواهد بود
public void SaveImage(HttpPostedFileBase thumbnailImageUpload,int width, int height )
{
var path = Server.MapPath("~/Images/Venue/thumbnailUpload");
Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap myBitmap = new Bitmap(thumbnailImageUpload.InputStream);
Image myThumbnail = myBitmap.GetThumbnailImage(
width, height, myCallback, IntPtr.Zero);
var fileName = thumbnailImageUpload.FileName;
myThumbnail.Save(path + "/" + fileName);
}
thumbnailImageUpload نام کنترل FileUpload می باشد که توسط آن فایل ما به این متد معرفی شده است.
توسط دستور Server.MapPath مسیری را که باید تصویر ما در آن ذخیره شود مشخص می کنیم.
height , width تصویر نهایی را به متد خود داده ایم تا بر اساس این سایز تصویر جدید ما ذخیره شود.
تصویر ارسالی را به یک تصویر bitmap تبدیل کرده ایم تا سایز آن را تغییر دهیم و با یک نسخه جدید آن را ذخیره نماییم.
در نهایت تصویر ما توسط متد myThumbnail.Save در مسیر مشخص شده ذخیره شده است.
در متد بالا تابعی را با نام ThumbnailCallback فراخوانی کرده ایم، این متد را کافی است به صورت زیر تعریف کنید.
public bool ThumbnailCallback()
{
return false;
}
برنامه کامل شده است و می توانید به سادگی از آن استفاده نمایید.
احمدی
با سلام
این namespace خودش بصورت پیش فرض using شده، لطفا برای روشن تر شدن موضوع یه نمونه کاربردی از این متد بزارید
احمدی
سلام
از این متد استفاده کردم ، در توضیح مطلب اشاره شده که thumbnailImageUpload اسم یک فایل آپلوده ، خب من وقتی این متد را فراخوانی میکنم با فایل آپلود به آرگومان اول خطا میگیره!!! لطفا راهنمایی کنید
اسماعیلشیدایی
با عرض سلام
mahdi
ممنون خیلی خوب بود
اسماعیلشیدایی
با عرض سلام
ممنون از اینکهراهنمایی فرمودید