读书人

vb.net怎么使图像灰度化再输出

发布时间: 2012-08-07 14:54:49 作者: rapoo

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)

读书人网 >VB Dotnet

热点推荐