تبدیل عکس رنگی به GrayScale در ASP.NET

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

در صورتی که علاقه مند به اطلاعات بیشتر در مورد عکس های gray scale هستید می توانید از اینجا مطالعه نمایید .

Convert-Image-Color-To-Gray

مراحل زیر آپلود عکس و تبدیل آن به Gray Scale می باشد .

مرحله 1: پروژه جدیدی از نوع Web Forms به اسم "GrayScaleConverter"  ایجاد کنید .

مرحله 2: یک صفحه جدید ساخته و کنترل های زیر را در آن قرار دهید :

یک Label  , FileUpload ,Button

 <form id="form1" runat="server">
    <div>
    <span>Select an Image:</span>&nbsp;<asp:FileUpload runat="server" ID="UploadFile" />
        <asp:Button runat="server" ID="btnUpload" Text="Upload & Convert To Gray" CssClass="btn" OnClick="btnUpload_Click" />
    </div>
    </form>

 کدهای زیر مربطوبه دکمه آپلود/تبدیل رنگ هستند .

protected void btnUpload_Click(object sender, EventArgs e)
    {
            if (UploadFile.HasFile)
            {
                Random rnd=new Random();
                string Path = Server.MapPath("~//File//") + rnd.Next(120, 1000).ToString() + System.IO.Path.GetExtension(UploadFile.FileName);
                UploadFile.PostedFile.SaveAs(Path);
              
                Bitmap bmap = (Bitmap)Bitmap.FromFile(Path);
                Color col;
                for (int i = 0; i < bmap.Width; i++)
                {
                    for (int j = 0; j < bmap.Height; j++)
                    {
                        col = bmap.GetPixel(i, j);
                        byte gray = (byte)(.299 * col.R + .587 * col.G + .114 * col.B);
                        bmap.SetPixel(i,j,Color.FromArgb(gray,gray,gray));
                    }
                }
                bmap.Save(Server.MapPath("~//File//"+System.IO.Path.GetFileNameWithoutExtension(Path)+"_Gray.png"));
             System.IO.File.Delete(Server.MapPath("~//File//")+System.IO.Path.GetFileName(Path));
                Response.WriteFile(Server.MapPath("~//File//") + System.IO.Path.GetFileNameWithoutExtension(Path)+"_Gray.png");
               
            }
            else
                Response.Write("Please Select The File");
        }
    }

قسمت اصلی کدهای بالا که تبدیل رنگ به سیاه و سفید را انجام می دهد :

   bmap.SetPixel(i,j,Color.FromArgb(gray,gray,gray));

 دانلود کدهای پروژه


توسط : عثمان رحیمی  2 ماه قبل ، یکشنبه 30 شهریور 1393 ساعت 08:24  0  1658

نظر شما برای ما مهم است و به ما در بهبود سایت کمک میکند.


ارسال نظر
  • نام (اختیاری ) :
  • پست الکترونیک :
  • توضیحات :

مطالب مرتبط