dart 如何使用飞省将Hexcolor转换为RGB颜色

lawou6xi  于 2023-02-01  发布在  其他
关注(0)|答案(3)|浏览(227)

我想把十六进制颜色值转换成RGB颜色值。我该怎么做呢?对不起,这个问题可能有点短。但意思是,因为我还没有看到这些答案的地方。
例如,十六进制颜色值=“0xff4f6872”转换为RGB颜色值=(R:79 G:104 B:114)。
我期待这些答案,谢谢。

rdlzhqv9

rdlzhqv91#

内置材质Color类具有保存每个颜色通道的颜色值的属性。您可以使用这些属性来查找颜色的RGB(红、绿色、蓝)甚至RGBA(红、绿、蓝、Alpha)值。
首先需要为十六进制颜色创建一个颜色对象,方法是将值放入Color()方法中,并在十六进制值之前添加'0xff'。

Color myColor = Color(0xffe64a6f);

然后,您可以访问所需的任何属性,并根据需要使用/显示这些属性

Column(
      children: [
          Text('red value: ${myColor.red}'),
          Text('green value: ${myColor.green}'),
          Text('blue value: ${myColor.blue}'),
          Text('alpha value: ${myColor.alpha}'),
      ],
)
jmo0nnb3

jmo0nnb32#

0xff4f6872不是(R:79 G:104 B:114)。
十六进制颜色使用以下命令指定:#RRGGBB。要增加透明度,请在00和FF之间再添加两位数字。
此处:

ff = 256 (R)
4f = 79 (G)
68 = 104 (B)
72 = 114 this means alpha = 0.45 (114/256)
nwnhqdif

nwnhqdif3#

在Flutter或Dart中将十六进制颜色字符串转换为RGB颜色值的最佳方法:

String hexColor = "0xff4f6872";
int intColor = int.parse(hexColor);
int red = (intColor >> 16) & 0xff;
int green = (intColor >> 8) & 0xff;
int blue = (intColor >> 0) & 0xff;

因此,您可以获得:红色= 79,绿色= 104,蓝色= 114。

相关问题