حتما در خلال نوشتن یک برنامه نیاز پیدا کردید که سایز یک عکس را تغییر دهید، بچرخانید، واترمارک بزنید و خیلی کارهای دیگر...
در قطعه کد بالا انتخابها گوناگونی در ارسال تصویر و ویرایش داریم که شما میتوانید بسته به نیاز خود آن را تغییر دهید. بعنوان مثال شما میتوانید بعد از ذخیره عکس در مسیر فیزیکی سرور، آن را به راحتی ویرایش کنید. به مثال زیر توجه کنید
خصوصا زمانی که قرار است پروژه، توسط GTmetrix بررسی شود و شما امتیاز بگیرید. حتما متوجه شدید که یکی از ملزومات داشتن یک Seo خوب، داشتن سرعت قابل قبول در بارگذاری تصاویر است و میدانیم که کاربران یک سایت، لزوما دیدگاه، دقت و حساسیت یک برنامه نویس را ندارند و بهترین کار این است که بطور قهری سایز تصاویر در پروژه بصورت صحیح تنظیم شود. بعنوان مثلا ممکن است یک کاربر برای داشتن یک آواتار از عکس بسیار بزرگ (PX 400*600) استفاده کند و این درحالی است که چنین اندازه ای برای یک آواتار غیرمنطقی مخرب است و صرفا باعث کاهش زمان بارگذاری سایت خواهد شد.
راه حل :
یکی از راه حلهای موجود استفاده از کلاس WebImage است که شما میتوانید عملیات ویرایش یک عکس را خودتان مدیریت کنید. یادداشت زیر کدهای لازم برای استفاده از این کلاس میباشد.
[HttpPost] public ActionResult Index(HttpPostedFileBase file) { WebImage img = new WebImage(file.InputStream); if (img.Width > 1000) img.Resize(1000, 1000,false); img.Save("path"); return View(); }
WebImage img = new WebImage("path"); if (img.Width > 720)} img.Resize(720, 460 ,false); img.Save("path");
برای آگاهی و مطالعه بیشتر در خصوص Constuctors و Properties و Methods مربوط به کلاس WebImage میتوانید به لینک WebImage Class in MSDN مراجعه فرمایید.