Skip to content

Instantly share code, notes, and snippets.

@bgribble
Created September 5, 2017 19:44
Show Gist options
  • Save bgribble/e6b35e0af88408fcd93d1726262a5d8b to your computer and use it in GitHub Desktop.
Save bgribble/e6b35e0af88408fcd93d1726262a5d8b to your computer and use it in GitHub Desktop.
Convert an RGBA color over a background RGB color to RGB
import sys
if __name__ == '__main__':
r = int(sys.argv[1])
g = int(sys.argv[2])
b = int(sys.argv[3])
a = float(sys.argv[4])
if len(sys.argv) > 5:
bg_rgb = sys.argv[5]
else:
bg_rgb = 'ffffff'
bg_r = int(bg_rgb[0:2], 16)
bg_g = int(bg_rgb[2:4], 16)
bg_b = int(bg_rgb[4:6], 16)
red = int(r*a + bg_r*(1-a))
green = int(g*a + bg_g*(1-a))
blue = int(b*a + bg_b*(1-a))
print ("rgba(%s, %s, %s, %s) on #%s --> rgb(%s, %s, %s) or #%x%x%x " % (
r, g, b, a, bg_rgb, red, green, blue, red, green, blue))
@bgribble
Copy link
Author

bgribble commented Sep 5, 2017

$ python ~/rgba_on.py 0 136 255 0.2 ffffff
rgba(0, 136, 255, 0.2) on #ffffff --> rgb(204, 231, 255) or #cce7ff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment