آموزش زبان های برنامه نویسی

آموزش زبان های برنامه نویسی

آموزش انواع زبان های برنامه نویسی
آموزش زبان های برنامه نویسی

آموزش زبان های برنامه نویسی

آموزش انواع زبان های برنامه نویسی

چگونه حجم عکس را در#C پایین بیاوریم


چگونه حجم عکس را در#C  پایین بیاوریم


گاهی وقتا لازم است که عکس هایی را که کاربر وارد سیستم می کند را کنترل کنیم و حجم آن را پایین بیاوریم و در دیتابیس ذخیره کنیم تا فضای کمتری را به خود اختصاص دهد ما در این بخش قصد داریم که این کار را انجام دهیم و حجم عکس را با استفاده از یه روش  خاصی پایین بیاوریم و در دیتابیس ذخیره کنیم.


برای این کار باید از فرمول زیر استفاده کنیم و در نهایت با استفاده از ابزار های موجود در دات نت این فرمول را پیاده کنیم.


عدد مورد نظر را بر سایز عکس تقسیم می کنیم و نهایتن رادیکال آن را بدست می آوریم. و مقدار بدست آمده را در طول و عرض عکس مورد نظر ضرب می کنیم و کد آن هم بصورت زیر می باشد.


البته قبل از کار کردن باید یک رفرنس به نام System.web.Helpers را اضافه کنیم 


در این مثال قصد داریم یک عکس از کاربر دریافت کنیم و نهایتن ججم آن عکس را به 50 کیلو بایت برسانیم


using System.Web.UI.WebControls;


double AttachmentTypeMaxSize = 1024;

                    double Length = FileUploadSendFile.PostedFile.ContentLength;

                    double UserInsert =50* 1024;

                    double sizeimage = Math.Sqrt((UserInsert / Length));

                   

                    Byte[] FileUplodData = (Byte[])FileUploadSendFile.FileBytes;

 if (Length >= UserInsert)

                    {

                        System.Drawing.Image imgFile = System.Drawing.Image.FromStream(FileUploadSendFile.PostedFile.InputStream);

                        double ImageWith = imgFile.PhysicalDimension.Width * sizeimage;

                        double ImageHeight = imgFile.PhysicalDimension.Height * sizeimage;

                        var webImage = new System.Web.Helpers.WebImage(FileUploadSendFile.FileBytes);

                        webImage.Resize(Convert.ToInt32(ImageWith),Convert.ToInt32(ImageHeight), false, true);

                        //webImage.Save(AppDomain.CurrentDomain.BaseDirectory, "jpg", true);

                        FileUplodData= webImage.GetBytes();


                    }