Skip to content

Instantly share code, notes, and snippets.

@bran921007
Forked from JordanDelcros/combine-rgba-colors.js
Created October 7, 2020 08:52
Show Gist options
  • Save bran921007/84c51d6f6f83ccfdec8ec89be5b8faca to your computer and use it in GitHub Desktop.
Save bran921007/84c51d6f6f83ccfdec8ec89be5b8faca to your computer and use it in GitHub Desktop.
Combine two RGBA colors with JavaScript
// Fast and easy way to combine (additive mode) two RGBA colors with JavaScript.
// [red, green, blue, alpha] based on these maximul values [255, 255, 255, 1].
var base = [69, 109, 160, 1];
var added = [61, 47, 82, 0.8];
var mix = [];
mix[3] = 1 - (1 - added[3]) * (1 - base[3]); // alpha
mix[0] = Math.round((added[0] * added[3] / mix[3]) + (base[0] * base[3] * (1 - added[3]) / mix[3])); // red
mix[1] = Math.round((added[1] * added[3] / mix[3]) + (base[1] * base[3] * (1 - added[3]) / mix[3])); // green
mix[2] = Math.round((added[2] * added[3] / mix[3]) + (base[2] * base[3] * (1 - added[3]) / mix[3])); // blue
// Will return [63, 59, 98, 1]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment