如何将uinteger转换为颜色或RGB

时间:2015-07-01 09:34:09

标签: .net vb.net visual-studio-2012 colors rgb

我想用一些颜色着色矩形,其中颜色值值得uinteger。我能这样做吗?或者如何在vb.net中将值uinteger更改为color或Rgb?我使用4.5 .net框架。 请帮助我,谢谢...

        For i As Integer = 0 To sf.Categories.Count - 1

        Dim category As MapWinGIS.ShapefileCategory = sf.Categories.Item(i)
        Dim icolor As UInteger = scheme.GraduatedColor((i + 1) / sf.Categories.Count)
        'MsgBox(icolor)
        Panel1.BackColor = Color.FromArgb(icolor) 'eror
    Next

ex:我有16744576,然后我搜索谷歌RGB值是rgb(255,128,128)

2 个答案:

答案 0 :(得分:0)

您可以使用ColorTranslator类:

    Dim oleColor As Integer = 16744576

    ' Translate oleColor to a GDI+ Color structure. 
    Dim myColor As Color = ColorTranslator.FromOle(oleColor)

    ' Confirm the RGB values
    Debug.WriteLine(myColor.ToString()) ' Color [A=255, R=128, G=128, B=255]

答案 1 :(得分:0)

该值是RGB值。您可以通过添加Alpha通道值255(十六进制FF)将其转换为ARGB值,然后转换为颜色:

Panel1.BackColor = Color.FromArgb(255, Color.FromArgb(icolor))

您还可以将数字直接转换为颜色(将RGB值视为ARGB值),但这将具有零值,因此它将是透明的。然后,您可以从该颜色创建具有特定Alpha值的颜色:

{{1}}