Prashant
Prashant

Reputation: 93

Using individual value from multiple values returned by a function VB.net

I have a function which returns average RGB value of a region drawn on a picturebox in VB.net.

The code is as below:

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

My query is how do I separate the values of R, G & B returned by this function..

Upvotes: 0

Views: 46

Answers (1)

OneFineDay
OneFineDay

Reputation: 9024

Use the Item property.

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

Upvotes: 1

Related Questions