一覧へ   前へ<<  >>次へ


グラデーション (2023年05月07日更新)

仮置き

Function Gra_Grn(j)

Dim x(5) As Double, y(5) As Double
DataNum = 5

Min = 0
Max = 100
If j < Min Then Gra_Grn = "OutOfRange": Exit Function
If j > Max Then Gra_Grn = "OutOfRange": Exit Function

x(1) = 0: y(1) = 0
x(2) = 25: y(2) = 255
x(3) = 50: y(3) = 255
x(4) = 75: y(4) = 0
x(5) = 100: y(5) = 255

For i = 1 To DataNum
If j = x(i) Then
Gra_Grn = y(i)
Exit Function
ElseIf j <= x(i) Then
Gra_Grn = y(i - 1) + (y(i) - y(i - 1)) * (j - x(i - 1)) / (x(i) - x(i - 1))
Exit Function
End If
Next i

End Function

Function Gra_Red(j)

Dim x(4) As Double, y(4) As Double
DataNum = 4

Min = 0
Max = 100
If j < Min Then Gra_Red = "OutOfRange": Exit Function
If j > Max Then Gra_Red = "OutOfRange": Exit Function

x(1) = 0: y(1) = 0
x(2) = 25: y(2) = 0
x(3) = 50: y(3) = 255
x(4) = 100: y(4) = 255

For i = 1 To DataNum
If j = x(i) Then
Gra_Red = y(i)
Exit Function
ElseIf j <= x(i) Then
Gra_Red = y(i - 1) + (y(i) - y(i - 1)) * (j - x(i - 1)) / (x(i) - x(i - 1))
Exit Function
End If
Next i

End Function

Function Gra_Blu(j)

Dim x(4) As Double, y(4) As Double
DataNum = 4

Min = 0
Max = 100
If j < Min Then Gra_Blu = "OutOfRange": Exit Function
If j > Max Then Gra_Blu = "OutOfRange": Exit Function

x(1) = 0: y(1) = 255
x(2) = 25: y(2) = 0
x(3) = 75: y(3) = 0
x(4) = 100: y(4) = 255

For i = 1 To DataNum
If j = x(i) Then
Gra_Blu = y(i)
Exit Function
ElseIf j <= x(i) Then
Gra_Blu = y(i - 1) + (y(i) - y(i - 1)) * (j - x(i - 1)) / (x(i) - x(i - 1))
Exit Function
End If
Next i

End Function