用VBA绘制RGB光谱图

用VBA绘制RGB光谱图,vba,colors,Vba,Colors,我正在做一个小项目,我希望能够“图形化”RGB光谱。我想创建一个完整的“光谱”的视觉表示。我已经为每种颜色(R、G和B)使用了3个正弦函数,但是,我的程序创建的图形并不代表整个光谱(我不寻找完整的1680万种颜色,但我的图形缺少橙色/黄色和其他一些颜色)。以下是我到目前为止的情况 Dim mul As Double, N As Double, i As Double mul = 12 N = 3.14 * mul For i = 1 To 10 Step 3.14 / 100 Dim r

我正在做一个小项目,我希望能够“图形化”RGB光谱。我想创建一个完整的“光谱”的视觉表示。我已经为每种颜色(R、G和B)使用了3个正弦函数,但是,我的程序创建的图形并不代表整个光谱(我不寻找完整的1680万种颜色,但我的图形缺少橙色/黄色和其他一些颜色)。以下是我到目前为止的情况

Dim mul As Double, N As Double, i As Double
mul = 12
N = 3.14 * mul
For i = 1 To 10 Step 3.14 / 100
    Dim r As Double, b As Double, g As Double
    r = Sin(i)
    g = Sin(-1 * i)
    b = Cos(i)
    If r <= 0 Then r = 0
    If g <= 0 Then g = 0
    If b <= 0 Then b = 0
    Debug.Print Sin(i) * 250 & 1
    Cells(10, i * 10).Interior.Color = RGB(r * 255, g * 255, b * 255)
    Cells(11, i * 10).Interior.Color = RGB(r * 255, 0, 0)
    Cells(12, i * 10).Interior.Color = RGB(0, g * 255, 0)
    Cells(13, i * 10).Interior.Color = RGB(0, 0, b * 255)


Next i
Dim mul为Double,N为Double,i为Double
mul=12
N=3.14*mul
对于i=1至10,步骤3.14/100
调暗r为双精度,b为双精度,g为双精度
r=Sin(i)
g=Sin(-1*i)
b=Cos(i)
如果r像
If r这样的行
Sub test()
    Dim mul As Double, N As Double, i As Double
    Dim r As Long, b As Long, g As Long

    For i = 1 To 10 Step Application.Pi / 100
        r = Round(127.5 + 127.5 * Sin(i))
        g = Round(127.5 + 127.5 * Sin(-1 * i))
        b = Round(127.5 + 127.5 * Cos(i))
        Cells(10, i * 10).Interior.Color = RGB(r, g, b)
        Cells(11, i * 10).Interior.Color = RGB(r, 0, 0)
        Cells(12, i * 10).Interior.Color = RGB(0, g, 0)
        Cells(13, i * 10).Interior.Color = RGB(0, 0, b)
    Next i
End Sub