How to convert from HEX color to RGB in Kotlin

2 Answers

0 votes
fun hexToRgb(hex: String): Triple<Int, Int, Int> {
    val color = hex.removePrefix("#")
    require(color.length == 6) { "Invalid hex color format" }
    
    val r = color.substring(0, 2).toInt(16)
    val g = color.substring(2, 4).toInt(16)
    val b = color.substring(4, 6).toInt(16)
    
    return Triple(r, g, b)
}

fun main() {
	val hexColor = "#FFA805"
	val (r, g, b) = hexToRgb(hexColor)
	
    println("RGB: ($r, $g, $b)")  
}

  
     
/*
run:
  
RGB: (255, 168, 5)
 
*/

 



answered Mar 7, 2025 by avibootz
0 votes
fun hexToRgb(hex: String): Triple<Int, Int, Int> {
    var color = hex.removePrefix("#")

    if (color.length == 3) {
        color = color.flatMap { "$it$it".toList() }.joinToString("")
    }

    require(color.length == 6) { "Invalid hex color format" }

    val r = color.substring(0, 2).toInt(16)
    val g = color.substring(2, 4).toInt(16)
    val b = color.substring(4, 6).toInt(16)

    return Triple(r, g, b)
}

fun main() {
    val hexColor1 = "#FFA805"
    val (r1, g1, b1) = hexToRgb(hexColor1)
    println("RGB: ($r1, $g1, $b1)")

    val hexColor2 = "#f00"
    val (r2, g2, b2) = hexToRgb(hexColor2)
    println("RGB: ($r2, $g2, $b2)")
}
  
     
/*
run:
  
RGB: (255, 168, 5)
RGB: (255, 0, 0)
 
*/

 



answered Mar 7, 2025 by avibootz

Related questions

1 answer 109 views
1 answer 127 views
2 answers 98 views
2 answers 111 views
2 answers 113 views
113 views asked Mar 6, 2025 by avibootz
...