vb.net如何使图像灰度化再输出
如有一个image对象,如何把它灰度化?
[解决办法]
给你一段代码,但是效率不是很高,肯定有更好的算法,或者我没有想到点,共同探讨
- VB.NET code
Private Function ImageGrayed(ByVal img As Image) As Bitmap Dim w As Integer = img.Width Dim h As Integer = img.Height Dim bmp As New Bitmap(w, h) Using bmp2 As Bitmap = img.Clone() For x As Integer = 0 To w - 1 For y As Integer = 0 To h - 1 Dim colorOriginal As Color = bmp2.GetPixel(x, y) Dim gray As Integer = CType(colorOriginal.R * 0.3 + colorOriginal.G * 0.59 + colorOriginal.B * 0.11, Integer) Dim colorFinal As Color = Color.FromArgb(255, gray, gray, gray) bmp.SetPixel(x, y, colorFinal) Next Next End Using Return bmp End Function
[解决办法]
dim zbp as new bitmap=windows.forms.controlpaint.drawimagedisabled(oldimage)