Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # tk_scroll_by_brightness.py
- import tkinter as tk
- from PIL import Image, ImageDraw, ImageTk
- import random
- def brightness(rgb):
- r, g, b = [x / 255.0 for x in rgb]
- return 0.299 * r + 0.587 * g + 0.114 * b
- steps = 10
- def generate_colors_sorted_by_brightness():
- colors = []
- for r in range(0, 256, steps):
- for g in range(0, 256, steps):
- for b in range(0, 256, steps):
- colors.append((r, g, b))
- colors.sort(key=brightness)
- return colors
- root = tk.Tk()
- root.title("Color Loop - Sorted by Brightness")
- root.geometry("500x500")
- canvas = tk.Canvas(root, width=500, height=500, highlightthickness=0, bg='gray')
- canvas.pack()
- canvas_image = Image.new('RGB', (500, 500), color='gray')
- draw = ImageDraw.Draw(canvas_image)
- colors = generate_colors_sorted_by_brightness()
- color_index = 0
- len_colors = len(colors)
- while True:
- color = colors[color_index]
- draw.rectangle([(0, 0), (500, 3)], fill=color)
- photo_image = ImageTk.PhotoImage(canvas_image)
- canvas.create_image(0, 0, image=photo_image, anchor='nw')
- color_index = (color_index + 1) % len_colors
- canvas.update()
- crop_image = canvas_image.crop((0, 0, 500, 500))
- canvas_image.paste(crop_image, (0, 4))
Advertisement
Add Comment
Please, Sign In to add comment