Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 计算所有可能的组合[RGB]_Vb.net_Math - Fatal编程技术网

Vb.net 计算所有可能的组合[RGB]

Vb.net 计算所有可能的组合[RGB],vb.net,math,Vb.net,Math,我制作了一个生成随机RGB值的简单程序,但我不知道如何计算所有可能的RGB代码组合&可能尽快生成,有人能帮我吗 代码的计算部分: Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick r1 = CInt(Int((255 * Rnd()) + 0)) g1 = CInt(Int((255 * Rnd()) + 0))

我制作了一个生成随机RGB值的简单程序,但我不知道如何计算所有可能的RGB代码组合&可能尽快生成,有人能帮我吗

代码的计算部分:

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    r1 = CInt(Int((255 * Rnd()) + 0))
    g1 = CInt(Int((255 * Rnd()) + 0))
    b1 = CInt(Int((255 * Rnd()) + 0))
    If ListBox1.Items.Contains(r1 & "," & g1 & "," & b1) Then
        'number is clone of any number in Listbox1.items
        Label2.Text = Label2.Text + 1
    Else
        ListBox1.Items.Add(r1 & "," & g1 & "," & b1)
        Label1.Text = ListBox1.Items.Count.ToString
    End If
End Sub
工作够了;)


如果你想要所有的组合(以随机顺序?),那么你应该寻找以非随机的方式生成完整的集合,然后将它们洗牌。@Damien_不信者你这是什么意思??程序的屏幕就在这里,此时您正在随机生成RGB值,并按照生成它们的顺序将它们添加到列表框中。但你的问题也涉及到“所有值”——如果你继续随机生成它们,可能需要很长时间才能找到16777216项,而16777215项已经在列表中。最好在一个单独的列表中生成所有16777216,然后在将它们添加到列表框之前使用一些方法更改它们的顺序。可能会生成R=0-255 G=0 B=0,然后G=0-255&R&G=0,然后G=0-255的所有值,然后随时间洗牌??
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    r1 = CInt(Int((255 * Rnd()) + 0))
    g1 = CInt(Int((255 * Rnd()) + 0))
    b1 = CInt(Int((255 * Rnd()) + 0))
    If ListBox1.Items.Contains(r1 & "," & g1 & "," & b1) Then
        'number is clone of any number in Listbox1.items
        Label2.Text = Label2.Text + 1
    Else
        ListBox1.Items.Add(r1 & "," & g1 & "," & b1)
        Label1.Text = ListBox1.Items.Count.ToString
    End If
End Sub