Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import operator, struct
- from Tkinter import Tk
- def RGBToHex(rgb):
- return "%02x%02x%02x" % (rgb[0], rgb[1], rgb[2])
- def hexToRGB(hex):
- if hex[0] == "#": hex = hex[1:]
- return struct.unpack("BBB",hex.decode("hex"))
- def copyToClipboard(text):
- r = Tk()
- r.withdraw()
- r.clipboard_clear()
- r.clipboard_append(text)
- r.destroy()
- # The string to colorize
- string = "Write your text here!"
- # Get string length
- length = len(string)
- # Starting and ending color of the gradient, you can use hexToRGB() Here
- rgb1 = (0, 0, 0)
- rgb2 = (255, 255, 255)
- # Calculate the differences of two colors
- diff = tuple(map(operator.sub, rgb1, rgb2))
- diff = tuple(map(operator.neg, diff))
- diff = [float (i) for i in diff]
- # Get how much is each "step" for each color
- portions = (diff[0] / length, diff[1] / length, diff[2] / length)
- # Main flow
- text = ""
- for i, char in enumerate(string):
- if char == " ": # No operations needed
- text += char
- continue
- temp = (portions[0] * i, portions[1] * i, portions[2] * i)
- temp = tuple(map(operator.add, rgb1, temp))
- temp = [int (i) for i in temp]
- color = RGBToHex((temp[0], temp[1], temp[2]))
- text += "[color=#%s]%s[/color]" % (color, char)
- # Self explanatory
- copyToClipboard(text)
Advertisement
Add Comment
Please, Sign In to add comment