hex2rgb static method

List<int> hex2rgb(
  1. dynamic hex
)

Converts a hex string to RGB values.

Returns a list of doubles representing the RGB values. r, g, b

Implementation

static List<int> hex2rgb(hex) {
  String hexString = hex.toString().replaceAll("#", "");
  hexString = hexString.replaceAll("0x", "");

  if (hexString.length == 3) {
    hexString = hexString.replaceAllMapped(
        RegExp(r'(.)(.)'), (Match m) => '${m[1]}${m[1]}${m[2]}${m[2]}');
  }

  if (hexString.length == 8) {
    hexString = hexString.substring(2);
  }

  final int r = int.parse(hexString.substring(0, 2), radix: 16);
  final int g = int.parse(hexString.substring(2, 4), radix: 16);
  final int b = int.parse(hexString.substring(4, 6), radix: 16);

  return [r, g, b];
}