rgba转rgb的工具

1,335 阅读1分钟

在网上搜了下, 没合适的, 自己抄录了算法, 进行了修改

<script>
function RGBA2RGB(rgba_color, background_color){
  //注:rgba_color的格式为rgba(0,0,0,0.1), background_color的格式为rgb(0,0,0)  var bgArray = background_color.split("(")[1].split(")")[0].split(",");
  var rgbaArr = rgba_color.split("(")[1].split(")")[0].split(",");
  var a = rgbaArr[3];
  var r = rgbaArr[0] * (1 - a) + bgArray[0] * a;
  var g = rgbaArr[1] * (1 - a) + bgArray[1] * a;
  var b = rgbaArr[2] * (1 - a) + bgArray[2] * a;
  return "rgb(" + Math.round(r) + "," + Math.round(g) + "," + Math.round(b) +")";
}

var resColor = RGBA2RGB("rgba(59, 104, 183, 0.2)", "rgba(255, 255, 255)")
console.log(resColor)
</script>