اين تابع با دريافت يك تصوير از نوع Bitmap، مقدار Grayscale شده ي آن تصوير را بر مي گرداند. اساس كار تابع ذيل، تصوير بردار هاي رنگ به روي بردار (1, 1, 1) است. البته روش هاي سريع تري نظير ماتريس تبديل و يا توابع ويرايش قالب پيكسل (در Framework 4.0) براي اين كار وجود دارد.
کد:Function ToGrayscale(ByVal inpImg As Bitmap) As Bitmap Dim bytrgb As Byte For i As Integer = 0 To inpImg.Width - 1 For j As Integer = 0 To inpImg.Height - 1 bytrgb = Convert.ToByte((Val(inpImg.GetPixel(i, j).R) + Val(inpImg.GetPixel(i, j).G) + Val(inpImg.GetPixel(i, j).B)) / 3) inpImg.SetPixel(i, j, Color.FromArgb(bytrgb, bytrgb, bytrgb)) Next Next Return inpImg End Function






پاسخ با نقل قول
Bookmarks