Kann man z.B. bei einen normalen blauen Canvasfenster einen Farbübergang einbauen??? Ich meine so was wie von dunkelblau zu hellblau oder so??!
Hab nur Interesse ob so was mit python überhaupt möglich ist!
gruß meister56
Farbübergang??
Ja.meister56 hat geschrieben:Kann man z.B. bei einen normalen blauen Canvasfenster einen Farbübergang einbauen??? Ich meine so was wie von dunkelblau zu hellblau oder so??!
Hab nur Interesse ob so was mit python überhaupt möglich ist!
Hallo meister56
Hier ein ein Versuchsskript um einen Farbverlauf auf einer Canvas zu erzeugen:
Gruss wuf
Hier ein ein Versuchsskript um einen Farbverlauf auf einer Canvas zu erzeugen:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#~~ Skriptname tk_color_fading_01.py (wuf)
#~~ Versuch: Horizontaler Farbverlauf auf einer Canvas mit Hilfe
# eines PhotoImage-Objektes
import Tkinter as tk
root = tk.Tk()
data = list(xrange(256)) # 0..255
reverse_fading = False
if reverse_fading:
data.reverse()
#~~ Erzeugt ein PhotoImage-Objekt
photo_image = tk.PhotoImage(width=len(data), height=1)
fade_color = 'dark_red'
format = "#%02x%02x%02x"
fade_function = {
'dark_blue' : lambda v: format % (0, 0, v),
'dark_green' : lambda v: format % (0, v, 0),
'dark_red' : lambda v: format % (v, 0, 0),
'brite_blue' : lambda v: format % (v, v, 255),
'brite_green': lambda v: format % (v, 255, v),
'brite_red' : lambda v: format % (255, v, v),
}.get(fade_color, lambda v: format % (0, 255, v))
#~~ Färbt die Fläche des PhotoImage-Objektes ein
photo_image.put((tuple(map(fade_function, data)),))
#~~ Skaliert die Fläche des PhotoImage-Objektes
photo_image = photo_image.zoom(4, 300)
#~~ Ermittelt die Breite & Höhe des PhotoImages-Objektes
image_width = photo_image.width()
image_height = photo_image.height()
#~~ Canvas für die Aufnahme des Photo-Images (Geometrie ist abhängig von der
# Breite und Höhe des PhotoImage-Objektes)
canvas = tk.Canvas(root, bd=0, highlightthickness=0, width=image_width,
height=photo_image.height())
canvas.pack()
#~~ Platziert das PhotoImage-Objekt auf die Canvas
image = canvas.create_image(0, 0, image=photo_image, anchor='nw')
root.mainloop()
Take it easy Mates!