我想用一些颜色着色矩形,其中颜色值值得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)
答案 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}}