Warum ich diese Frage hier reinschreibe?
Diese Frage wurde schon so oft gestellt, aber ich bekomms immernoch nicht hin
Also nochmal gaanz langsam...
wo muss ich überhaupt das Bild speichern damit es in mein Programm kommt ? ?
ich bin mir sicher ihr könnt mir helfen
Vielen Dank
Edit (27.05.09): Neue Frage dazu auf seite 3: http://www.python-forum.de/post-136849.html#136849
Bild einfügen mit Tkinter
Du solltest vielleicht ein wenig Code posten, auf raten hat sicherlich niemand Lust. Außer jemand hat gerade /dev/glaskugel zur Hand.
Das falsche Unterforum hast du auch noch getroffen
Das falsche Unterforum hast du auch noch getroffen
Das Leben ist wie ein Tennisball.
Achso, du hast bestimmt auch wie ich diese doofe Fehlermeldung bekommen:
Code: Alles auswählen
Traceback (most recent call last):
File "<unknown>", line ?, in Nirvana
GehtNicht: Is nicht wegen geht nicht!
ich glaub Python will mir mit der Fehlermeldung irgendetwas informatives sagen.
So ein launisches Programm wie derdon es zu haben scheint, wär doch auch lustig
Aber mein Problem ist folgenes:
So ein launisches Programm wie derdon es zu haben scheint, wär doch auch lustig
Aber mein Problem ist folgenes:
Traceback (most recent call last):
File "C:\Python24\bild.py", line 4, in ?
photo = PhotoImage(file="test.gif")
File "C:\Python24\lib\lib-tk\Tkinter.py", line 3203, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "C:\Python24\lib\lib-tk\Tkinter.py", line 3159, in __init__
self.tk.call(('image', 'create', imgtype, name,) + options)
TclError: couldn't open "test.gif": no such file or directory
Hallo
so hat es bei mir funktioniert,wobei ich mir erst ein Paar mal
auf den Hinterkopf hauen mußte um zu merken das ich
ImageTk noch installieren muß
Gruß...busfahrer
so hat es bei mir funktioniert,wobei ich mir erst ein Paar mal
auf den Hinterkopf hauen mußte um zu merken das ich
ImageTk noch installieren muß
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf8 -*-
import Tkinter as tk
from PIL import Image
from ImageTk import PhotoImage
root = tk.Tk()
im = Image.open("/home/thomas/bild.jpg")
foto = PhotoImage(im)
can = tk.Canvas(root,width=500,height=500)
can.grid()
can.create_image(0,0,anchor=tk.NW,image=foto)
root.mainloop()
Alles wird gut ;-)
Die Fehlermeldung sagt doch ganz eindeutig, dass er "test.gif" nicht finden kann. Entweder heißt dein Bild also nicht "test.gif" oder es liegt im falschen Ordner. Pack das Bild mal in "C:\Python24". Überigens ein sehr schlechter Ort um Programme zu schreiben.
Das Leben ist wie ein Tennisball.
also:
als Button und Label klappt´s:
Hier einfach mal der Quellcode:
aber wie bekomm ich das Bild in einen Frame?
als Button und Label klappt´s:
Hier einfach mal der Quellcode:
Code: Alles auswählen
from Tkinter import *
fenster = Tk()
fenster.minsize(400,300)
photo = PhotoImage(file="test.gif") #test.gif liegt im selben Ordner wie das Programm
label = Label(image=photo)
label.image = photo
label.pack()
Button=Button(image=photo)
Button.image = photo
Button.pack()
Ich glaube fast, dass du das Skript vom falschen Verzeichnis aus gestartet hast? Wenn du keine Pfadangabe machst, wird Python die Datei test.gif immer im aktuellen Verzeichnis suchen - und das ist nicht zwingend das Verzeichnis des Skriptes.Pascal hat geschrieben:also:
photo = PhotoImage(file="test.gif")
Nein! Siehe Kommentar von derdon.Pascal hat geschrieben:solange es funktioniert is doch ok, oder?
Indem du z.B. ein Label mit Bild in einen Frame steckst ...Pascal hat geschrieben:aber wie geht das mit dem Bild als Frame...
Zuletzt geändert von wuf am Donnerstag 16. April 2009, 22:20, insgesamt 1-mal geändert.
Take it easy Mates!
Vermutlich verwendet er einen Editor, der per Shortcut diese Art von Kommentaren erzeugt. Bei SciTE sieht das so ähnlich aus. Damit lassen sich einzelne Zeilen/Blöcke sehr schnell (ent-)kommentieren.derdon hat geschrieben:Und warum fangen deine Kommentare immer mit zwei ~ an?
erstmal Danke für eure Pots
ich hab aber jetzt wieder das Bild als Label.
Ich würd gerne etwas auf das Bild schreiben, deswegen hätt ich das gerne als Frame.
@wuf:
nettes Bild im except-zweig, aber das ist nicht das Problem, test.gif lässt sich problemlos öffnen.
ich hab aber jetzt wieder das Bild als Label.
Ich würd gerne etwas auf das Bild schreiben, deswegen hätt ich das gerne als Frame.
@wuf:
nettes Bild im except-zweig, aber das ist nicht das Problem, test.gif lässt sich problemlos öffnen.
Es wird Zeit, dass du mal in die Doku siehst: http://effbot.org/tkinterbook/tkinter-index.htmPascal hat geschrieben:Ich würd gerne etwas auf das Bild schreiben, deswegen hätt ich das gerne als Frame.
Kurz gesagt: Ein "Bild als Frame" geht nicht. Braucht man auch nicht. Du kannst z.B. ein Label mit Bild versehen oder auch ein Canvas.
Willst du "in" das Bild schreiben, brauchst du die PIL, willst du etwas "über" das Bild schreiben, tut es ein Label auch, weil du Text und Bild übereinander platzieren kannst. Ist das nicht flexibel genug, nimmst du dafür ein Canvas.
In jedem Fall: Lies die Doku!
@Pascal
meinst du sowas in der Art
Gruß...busfahrer
meinst du sowas in der Art
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf8 -*-
import Tkinter as tk
from PIL import Image
from ImageTk import PhotoImage
root = tk.Tk()
im = Image.open("test.gif")
foto = PhotoImage(im)
can = tk.Canvas(root,width=500,height=500)
can.grid()
can.create_image(0,0,anchor=tk.NW,image=foto)
can.create_text(242,20,text="Das ist ein Bild",fill="yellow")
root.mainloop()
Alles wird gut ;-)