color.js 830 B

1234567891011121314151617181920212223242526272829
  1. export default {
  2. //hex颜色转rgb颜色
  3. HexToRgb(str) {
  4. str = str.replace("#", "")
  5. var hxs = str.match(/../g)
  6. for (var i = 0; i < 3; i++) hxs[i] = parseInt(hxs[i], 16)
  7. return hxs
  8. },
  9. //rgb颜色转hex颜色
  10. RgbToHex(a, b, c) {
  11. var hexs = [a.toString(16), b.toString(16), c.toString(16)]
  12. for (var i = 0; i < 3; i++) {
  13. if (hexs[i].length == 1) hexs[i] = "0" + hexs[i]
  14. }
  15. return "#" + hexs.join("");
  16. },
  17. //加深
  18. darken(color, level) {
  19. var rgbc = this.HexToRgb(color)
  20. for (var i = 0; i < 3; i++) rgbc[i] = Math.floor(rgbc[i] * (1 - level))
  21. return this.RgbToHex(rgbc[0], rgbc[1], rgbc[2])
  22. },
  23. //变淡
  24. lighten(color, level) {
  25. var rgbc = this.HexToRgb(color)
  26. for (var i = 0; i < 3; i++) rgbc[i] = Math.floor((255 - rgbc[i]) * level + rgbc[i])
  27. return this.RgbToHex(rgbc[0], rgbc[1], rgbc[2])
  28. }
  29. }