Я пытаюсь объединить 2 цвета, и для этого я создал очень простую функцию:
Public Function MixColors(color1 As Color, color2 As Color) As Color
Dim a, r, g, b As Byte
a = (color1.A + color2.A) \ 2
r = (color1.R + color2.R) \ 2
g = (color1.G + color2.G) \ 2
b = (color1.B + color2.B) \ 2
Return Color.FromArgb(a, r, g, b)
End Function
Проблема в том, что я получаю исключение OverflowException при самой первой операции, и я не могу понять, почему.
Я попытался изменить тип переменных сначала на Integer, а затем на Double без изменения результатов.
Я также попытался переключиться с оператора \ на / one, но все еще нетизменить.
Влияет ли тип переменных (color.A) на выполнение?