تبدیل عکس رنگی به GrayScale در ASP.NET
در عکس های Gray Scale هر پیکسل مقدار شدت نور را در خود نگه می دارد . عکس های Gray Scale همانطور که می دانید به عکس های سیاه و سفید مشهور هستند و کاربردهای زیاد هم دارند .
در صورتی که علاقه مند به اطلاعات بیشتر در مورد عکس های gray scale هستید می توانید از اینجا مطالعه نمایید .
مراحل زیر آپلود عکس و تبدیل آن به Gray Scale می باشد .
مرحله 1: پروژه جدیدی از نوع Web Forms به اسم “GrayScaleConverter” ایجاد کنید .
مرحله 2: یک صفحه جدید ساخته و کنترل های زیر را در آن قرار دهید :
یک Label , FileUpload ,Button
1 2 3 4 5 6 |
<form id="form1" runat="server"> <div> <span>Select an Image:</span> <asp:FileUpload runat="server" ID="UploadFile" /> <asp:Button runat="server" ID="btnUpload" Text="Upload & Convert To Gray" CssClass="btn" OnClick="btnUpload_Click" /> </div> </form> |
کدهای زیر مربطوبه دکمه آپلود/تبدیل رنگ هستند .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
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"); } } |
قسمت اصلی کدهای بالا که تبدیل رنگ به سیاه و سفید را انجام می دهد :
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.