How to convert from HEX color to RGB in Scala

2 Answers

0 votes
def hexToRgb(hex: String): (Int, Int, Int) = {
  val cleanHex = if (hex.startsWith("#")) hex.substring(1) else hex
  require(cleanHex.length == 6, "Invalid HEX color format")
  
  val r = Integer.parseInt(cleanHex.substring(0, 2), 16)
  val g = Integer.parseInt(cleanHex.substring(2, 4), 16)
  val b = Integer.parseInt(cleanHex.substring(4, 6), 16)
  
  (r, g, b)
}

val hexColor = "#FF05A3"

val rgb = hexToRgb(hexColor)

println(s"RGB: ${rgb}")

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

 



answered Mar 7, 2025 by avibootz
0 votes
object HexToRGB {
  def hexToRgb(hex: String): (Int, Int, Int) = {
    val cleanHex = if (hex.startsWith("#")) hex.substring(1) else hex

    val processedHex = if (cleanHex.length == 3) {
      cleanHex.flatMap(c => s"$c$c")
    } else {
      cleanHex
    }

    require(processedHex.length == 6, "Invalid HEX color format")

    val r = Integer.parseInt(processedHex.substring(0, 2), 16)
    val g = Integer.parseInt(processedHex.substring(2, 4), 16)
    val b = Integer.parseInt(processedHex.substring(4, 6), 16)

    (r, g, b)
  }

  def main(args: Array[String]): Unit = {
    val hexColor1 = "#FF05A3"
    val rgb1 = hexToRgb(hexColor1)
    println(s"RGB: ${rgb1}")

    val hexColor2 = "#f00"
    val rgb2 = hexToRgb(hexColor2)
    println(s"RGB: ${rgb2}")
  }
}

 
 
/*
run:
 
RGB: (255,5,163)
RGB: (255,0,0)
  
*/

 



answered Mar 7, 2025 by avibootz

Related questions

1 answer 95 views
1 answer 117 views
2 answers 113 views
2 answers 98 views
2 answers 99 views
...