【问题标题】:How to represent hex colors in Scala.js?如何在 Scala.js 中表示十六进制颜色?
【发布时间】:2016-09-06 19:56:49
【问题描述】:

在 Scala.js 中表示十六进制颜色的推荐方法是什么? org.scalajs.dom.ext.Color 可以从十六进制字符串构造,但我无法稍后将字符串取出(例如,输入到 <input type="color" ..>)。

【问题讨论】:

  • 它的toString() 方法不是返回rgb(4, 5, 6) 形式的东西吗?
  • 是的,确实如此。我对依赖toString() 犹豫不决,但可能我只是不明白你在暗示什么?

标签: scala.js


【解决方案1】:

我很确定无法将Color 转换回十六进制字符串是一个疏忽。如果你自己添加一个助手可能最好:

def toHexString(c: Color): String = {
  import c._
  f"#$r%02x$g%02x$b%02x"
}

// Usage
val c = Color(255, 0, 0)
toHexString(c)  // = "#ff0000"

当然更好的是,如果您将其提交到上游以便其他人可以使用它。

【讨论】:

  • 感谢官方确认。我会尝试提出一个 PR。
  • 只是 FTR,我认为我不能算作 DOM 库的官方。我对这个库所做的唯一贡献是发布了几次 :)
  • Tx 澄清 :)
  • 顺便说一句:My PR got merged(仍在等待发布)
猜你喜欢
  • 2014-08-08
  • 2016-12-27
  • 2014-07-03
  • 2014-04-09
  • 2019-06-16
  • 2021-03-08
  • 2010-12-17
  • 2019-10-29
相关资源
最近更新 更多