【问题标题】:Interpolating colors插值颜色
【发布时间】:2012-11-27 12:48:45
【问题描述】:

您好,我在 java 中有以下 sn-p 我需要转换为 vb.net

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

有谁知道我如何在 vb.net 中执行 color4f.interpolate ? 在这里找到了一篇使用 lambda 运算符的 c# 文章,但我不知道它们的含义以及如何在 vb.net 中实现它们

指向 c# 文章的 Stackoverflow 链接 (Color Interpolation Between 3 Colors in .NET)

vb.net 中 color4f 的最佳替代方案是什么?

谢谢。

【问题讨论】:

标签: vb.net colors interpolation


【解决方案1】:

这个功能似乎或多或少有用:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 2014-01-21
    相关资源
    最近更新 更多