2017-02-08 6 views
0

У меня есть функция, которая возвращает среднее значение RGB региона, нарисованного на кадре в VB.net.Использование индивидуального значения из нескольких значений, возвращаемых функцией VB.net

код, как показано ниже:

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, возвращаемый этой функцией ..

+0

Вы имеете в виду, используя Tuple.Item1, Tuple.Item2 и Tuple.Item3? –

ответ

1

Используйте Item свойство.

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

Благодарим за быстрое разрешение! – Prashant

Смежные вопросы