Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.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 VB将RGB字符串转换为十六进制_Vb.net - Fatal编程技术网

Vb.net VB将RGB字符串转换为十六进制

Vb.net VB将RGB字符串转换为十六进制,vb.net,Vb.net,这个标题很好地解释了我的问题。我需要将单个字符串RGB值转换为十六进制值。如果在三个单独的字符串中给出值,我可以这样做,但由于RGB是从颜色选择器中给出的,我无法这样做-除非我拆分字符串,我不想这样做,因为我觉得这是不必要的 我希望能够将诸如:0112192之类的字符串转换为其十六进制等效值。我可以转换整个字符串吗?还是必须先将字符串拆分为RGB部分?由于RGB值可以有不同数量的十进制数字,因此在转换之前需要将其分开 s1 = "0, 112, 192" s2 = "" For Each s A

这个标题很好地解释了我的问题。我需要将单个字符串RGB值转换为十六进制值。如果在三个单独的字符串中给出值,我可以这样做,但由于RGB是从颜色选择器中给出的,我无法这样做-除非我拆分字符串,我不想这样做,因为我觉得这是不必要的


我希望能够将诸如:
0112192
之类的字符串转换为其十六进制等效值。我可以转换整个字符串吗?还是必须先将字符串拆分为RGB部分?

由于RGB值可以有不同数量的十进制数字,因此在转换之前需要将其分开

s1 = "0, 112, 192"
s2 = ""
For Each s As String In s1.Split(",")
  s2 &= CInt(s).ToString("x2")
  Next s

为什么你会觉得没有必要拆分字符串?这不像是将一个3字节的整数转换为十六进制表示形式。您正在将三个独立的1字节整数转换为它们的十六进制表示形式。这是三个独立的字符串。无论如何,这是一个微不足道的问题。。。一个你知道答案的。你正在使用颜色对话框吗?我不确定这是如何返回您显示的字符串的?您是否可以访问对话框的
Color
属性,然后访问单独的R、G和B组件并将其转换为十六进制?您是否尝试过类似的操作:
colorDialog1.Color.ToArgb().ToString(“X8”)