改变图像的颜色

Sha*_*eed 1 vb.net

我正在使用vb.net 2008创建一个Windows应用程序,因为我想以编程方式更改图像的颜色.例如,将白色变为绿色.你能帮我么.提前致谢.

Syn*_*ps3 6

这是基本的想法,您可以根据自己的需要进行修改.创建一个名为pic的按钮和图片框.将此代码放在按钮单击事件中,并用您选择的图像替换路径.您只需要在if语句中更改代码以创建某些颜色的阈值.要计算出阈值的RGB值,您可以使用绘图程序或在线颜色来查找所需颜色范围的正确值.

    Dim x As Integer
    Dim y As Integer
    Dim red As Byte
    Dim green As Byte
    Dim blue As Byte

    Dim img As Bitmap = New Bitmap("D:\dump\raycaster\Debug\pics\redbrick.png")

    For x = 0 To img.Width - 1
        For y = 0 To img.Height - 1
            red = img.GetPixel(x, y).R
            green = img.GetPixel(x, y).G
            blue = img.GetPixel(x, y).B
            If red > 128 Then
                img.SetPixel(x, y, Color.Green)
            End If
            If blue > 200 And green > 200 Then
                img.SetPixel(x, y, Color.Red)
            End If
        Next
    Next

    pic.Image = img
Run Code Online (Sandbox Code Playgroud)

并且像你说的那样专门改变白色到绿色:

If red > 240 And green > 240 And blue > 240 Then
    img.SetPixel(x, y, Color.Green)
End If
Run Code Online (Sandbox Code Playgroud)

我做了240,因为很多时候你不会有纯白色.