2

こんにちは私はJavaで次のスニペットを持っています私はvb.netに変換する必要があります

float position =(value - startValue) / (middleValue - startValue);
Color4f result = new Color4f();
result.interpolate(startColor, middleColor, position);
return result;

vb.netでcolor4f.interpolateを実行する方法を知っている人はいますか?ラムダ演算子を使用するc#の記事をここで見つけましたが、それらが何を意味し、vb.netでそれらを実装する方法がわかりません

c#記事へのStackoverflowリンク(.NETの3色間の色補間

そして、vb.netのcolor4fの最良の代替手段は何ですか?

ありがとう。

4

1 に答える 1

0

この関数は多かれ少なかれ機能するようです:

Public Function interPolateColor(ByVal firstcolor As Color, ByVal secondcolor As Color, ByVal alpha As Double) As Color
    Dim R As Double = ((1 - alpha) * Convert.ToInt32(firstcolor.R)) + (alpha * Convert.ToInt32(secondcolor.R))
    Dim B As Double = ((1 - alpha) * Convert.ToInt32(firstcolor.B)) + (alpha * Convert.ToInt32(secondcolor.B))
    Dim G As Double = ((1 - alpha) * Convert.ToInt32(firstcolor.G)) + (alpha * Convert.ToInt32(secondcolor.G))
    Dim A As Byte = 255
    Return Color.FromArgb(A, Convert.ToByte(R), Convert.ToByte(G), Convert.ToByte(B))
End Function
于 2012-11-29T07:39:47.827 に答える