Seite 1 von 1

Bilder übereinander legen

Verfasst: Montag 21. Oktober 2013, 17:12
von misterjosu
Herzliches hallo an alle die sich mit meinem Problem befassen ;)

Ich habe gerade angefangen das Browsergame "die Stämme" nachzuschreiben. jetzt bin ich dabei das fenster zu schreiben in dem man sein dorf sieht, ist nichts besonderes man soll nur auf Gebäude klicken können.

Vorgestellt habe ich mir das ganze so dass es ein "Grund" label gibt in dem die Landschaft als bild ist und dass dann die Gebäude als gif mit Alphakanal die richtige stelle darüber gelegt werden in einem anderen label.

mein Problem ist jetzt dass bild 2 bild 1 überdeckt ( und auch klein skaliert)

Jetzt ist meine frage ob sich das in tkinter machen lässt und wenn nicht wie würdet ihr das umsetzen ?

Code: Alles auswählen

import tkinter as tk

class Dorf(object):


    def __init__(self, parent):
        self.parent = parent
        # images
        self.village_landscape = tk.PhotoImage(file="dorf.gif")
        self.mainhouse = tk.PhotoImage(file="hauptgebaeude.gif")

        self.base = tk.Label(self.parent, image=self.village_landscape, height=576, width=1200)
        self.base.grid(row=0, column=0)

        self.house = tk.Label(self.base, image=self.mainhouse)
        self.house.grid(row=0, column=0)
        

if __name__ == "__main__":
    root = tk.Tk()
    D = Dorf(root)

Re: Bilder übereinander legen

Verfasst: Montag 21. Oktober 2013, 20:15
von BlackJack
@misterjosu: Zwei Widgets an der gleichen Zelle im `grid`-Layout geht nicht. Das klingt eher nach einer Aufgabe für ein `Canvas`.

Zusätzlich würde ich darüber nachdenken diese Kompositionsaufgaben nicht mit `Tkinter` zu machen sondern zum Beispiel mit der Python Imaging Library (PIL) weil `Tkinter` nur die binäre Transparenz von GIF kann, was wiederum auf 256 Farben pro Bilddatei beschränkt ist. Eigentlich möchte man heute nicht durch eine beschränkte Farbpalette eingeschränkt werdne und hätte auch gerne einen vollen Alphakanal statt einer ”unsichtbaren” Farbe in der Palette. PNG ist das bessere Format für so etwas.

Re: Bilder übereinander legen

Verfasst: Mittwoch 30. Oktober 2013, 22:59
von misterjosu
Danke erstmal, ich glaube aber dass meine frage etwas falsch formuliert war. ich will die bilder zu einer oberfläche zusammenfügenalsoeinem hintergrund, auf demmehrere bilder an bestimmtenpositionenlioegen und aud die manklicken können soll.

Re: Bilder übereinander legen

Verfasst: Mittwoch 30. Oktober 2013, 23:40
von BlackJack
@misterjosu: So hatte ich die Frage schon verstanden.

Re: Bilder übereinander legen

Verfasst: Donnerstag 31. Oktober 2013, 10:52
von misterjosu
Ok. Danke