使用函数VB.net返回的多个值中的单个值

时间:2017-02-08 05:47:07

标签: vb.net vb.net-2010

我有一个函数可以返回VB.net中图片框上绘制区域的平均RGB值。

代码如下:

Function GetAvgRGB(ByVal CrdY As Integer, ByVal CrdX As Integer, ByVal Region As System.Drawing.Rectangle) As Tuple(Of Integer, Integer, Integer)

    Dim totalR As UInteger
    Dim totalG As UInteger
    Dim totalB As UInteger

    For y As Integer = CrdY - (Region.Height / 2) To CrdY + ((Region.Height / 2) - 1)
        For x As Integer = CrdX - (Region.Width / 2) To CrdX + ((Region.Width / 2) - 1)
            totalR += myBitmap.GetPixel(x, y).R
            totalG += myBitmap.GetPixel(x, y).G
            totalB += myBitmap.GetPixel(x, y).B
        Next
    Next

    Dim pixelCount As Integer = Region.Width * Region.Height

    Dim averageR As Integer = CType(totalR \ pixelCount, Integer)
    Dim averageG As Integer = CType(totalG \ pixelCount, Integer)
    Dim averageB As Integer = CType(totalB \ pixelCount, Integer)

    Return Tuple.Create(averageR, averageG, averageB)

End Function

我的查询是如何分离R,G&的值。 B由此函数返回..

1 个答案:

答案 0 :(得分:1)

使用Item属性。

Dim myTuple = GetAvgRGB(?,?,?)
Dim r = myTuple.Item1 ' g = .Item2, b = .Item3