Seite 1 von 1

Anfängerfrage zu Bildern mit Tk

Verfasst: Sonntag 6. Februar 2005, 16:50
von sirroseide
Wie kann man Bilder(Bitmaps) in Tk öffnen/benutzen?

Verfasst: Sonntag 6. Februar 2005, 17:13
von Leonidas
Klar geht das!
Schau mal das Intro an, das erklärt einiges.
Vielleicht bist du auch an der Interaktion PIL <-> Tkinter interessiert.

Verfasst: Sonntag 6. Februar 2005, 17:26
von mawe
Hi!

Lustigerweise (naja, so lustig is das gar nicht :wink:) funktionieren Bitmaps bei mir nicht. Es haben auch schon andere in diesem Forum damit Probleme gehabt. In der Doku steht X11 Bitmaps. Gibt's da auch andere? Was erzeugt denn z.B. Gimp?

Gruß, mawe

Verfasst: Sonntag 6. Februar 2005, 18:12
von Leonidas
Gimp erzeugt einiges, das darfst du im Speichern Dialog auswählen..

Das eine X11 Bitmap (XBM):

Code: Alles auswählen

#define xlogo16_width 16
#define xlogo16_height 16
static unsigned char xlogo16_bits[] = {
    0x0f, 0x80, 0x1e, 0x80, 0x3c, 0x40, 0x78, 0x20, 0x78, 0x10,
    0xf0, 0x08, 0xe0, 0x09, 0xc0, 0x05, 0xc0, 0x02, 0x40, 0x07,
    0x20, 0x0f, 0x20, 0x1e, 0x10, 0x1e, 0x08, 0x3c, 0x04, 0x78,
    0x02, 0xf0};
Das ist dagegen eine X11 Pixmap (XPM):

Code: Alles auswählen

/* XPM */

static const char * gtk_xpm{} = {
 "32 39 5 1",
 ".      c none",
 "+      c black",
 "@      c #3070E0",
 "#      c #F05050",
 "$      c #35E035",
 "................+...............",
 "..............+++++.............",
 "............+++++@@++...........",
 "..........+++++@@@@@@++.........",
 "........++++@@@@@@@@@@++........",
 "......++++@@++++++++@@@++.......",
 ".....+++@@@+++++++++++@@@++.....",
 "...+++@@@@+++@@@@@@++++@@@@+....",
 "..+++@@@@+++@@@@@@@@+++@@@@@++..",
 ".++@@@@@@+++@@@@@@@@@@@@@@@@@@++",
 ".+#+@@@@@@++@@@@+++@@@@@@@@@@@@+",
 ".+##++@@@@+++@@@+++++@@@@@@@@$@.",
 ".+###++@@@@+++@@@+++@@@@@++$$$@.",
 ".+####+++@@@+++++++@@@@@+@$$$$@.",
 ".+#####+++@@@@+++@@@@++@$$$$$$+.",
 ".+######++++@@@@@@@++@$$$$$$$$+.",
 ".+#######+##+@@@@+++$$$$$$@@$$+.",
 ".+###+++##+##+@@++@$$$$$$++$$$+.",
 ".+###++++##+##+@@$$$$$$$@+@$$@+.",
 ".+###++++++#+++@$$@+@$$@++$$$@+.",
 ".+####+++++++#++$$@+@$$++$$$$+..",
 ".++####++++++#++$$@+@$++@$$$$+..",
 ".+#####+++++##++$$++@+++$$$$$+..",
 ".++####+++##+#++$$+++++@$$$$$+..",
 ".++####+++####++$$++++++@$$$@+..",
 ".+#####++#####++$$+++@++++@$@+..",
 ".+#####++#####++$$++@$$@+++$@@..",
 ".++####++#####++$$++$$$$$+@$@++.",
 ".++####++#####++$$++$$$$$$$$+++.",
 ".+++####+#####++$$++$$$$$$$@+++.",
 "..+++#########+@$$+@$$$$$$+++...",
 "...+++########+@$$$$$$$$@+++....",
 ".....+++######+@$$$$$$$+++......",
 "......+++#####+@$$$$$@++........",
 ".......+++####+@$$$$+++.........",
 ".........++###+$$$@++...........",
 "..........++##+$@+++............",
 "...........+++++++..............",
 ".............++++..............."
 }; 
^^ Was das wohl ist? :o Ich find XPM einfach nur cool.

Verfasst: Sonntag 6. Februar 2005, 18:25
von mawe
Hi Leonidas!

Danke! Bei Bitmap hab ich eigentlich immer an die Dinger mit der Endung bmp gedacht :wink:
Leonidas hat geschrieben: Ich find XPM einfach nur cool.
Find ich auch. Hab's mit Perl/Tk oft genutzt. Schade dass es mit Tkinter nicht geht (oder geht's doch?).

Gruß, mawe

Verfasst: Sonntag 6. Februar 2005, 18:46
von Leonidas
mawe hat geschrieben:Danke! Bei Bitmap hab ich eigentlich immer an die Dinger mit der Endung bmp gedacht :wink:
Das sind die bösen, fetten, binären, OS/2-Win Bitmaps. :twisted:
mawe hat geschrieben:
Leonidas hat geschrieben:Ich find XPM einfach nur cool.
Find ich auch. Hab's mit Perl/Tk oft genutzt. Schade dass es mit Tkinter nicht geht (oder geht's doch?).
Also PIL liest XPM und PIL und Tkinter sind gute Freunde.

Aber auch im Python Source Tarball sind unter Demos/Tix ein paar Python Scripte, die glaube ich mit XPMs arbeiten können. Du solltest mal im Demo/Tix/samples/CmpImg.py gucken, das nutzt soweit ich das sehe XPM. Das geht verwunderlicherweise sogar unter Windows.

Verfasst: Sonntag 13. Februar 2005, 17:58
von sirroseide
ich meinte Bilder, die ich in Paint gemacht habe.

Verfasst: Sonntag 13. Februar 2005, 18:18
von Leonidas
Na das steht doch sicher in jeder Tk Doku.

Verfasst: Sonntag 13. Februar 2005, 18:18
von mawe
Hi!

Na wo die Bilder herkommen ist ja wohl ziemlich egal, oder? :wink:
Wie speicherst Du die denn ab (welches Format, bmp, gif, ...)?

Gruß, mawe

Verfasst: Sonntag 13. Februar 2005, 18:22
von Leonidas
mawe hat geschrieben:Na wo die Bilder herkommen ist ja wohl ziemlich egal, oder? :wink:
Wie speicherst Du die denn ab (welches Format, bmp, gif, ...)?
Also MS Paint konnte lange Zeit nur BMP speichern inzwischen auch GIF, JPEG, TIFF und PNG, aber ich glaube sierroseide ging es um normale BMPs.

Verfasst: Sonntag 13. Februar 2005, 18:35
von mawe
Hi!

Dann muss man wohl auf PIL zurückgreifen:

Code: Alles auswählen

from Tkinter import *
from PIL import Image, ImageTk

root = Tk()
image = Image.open("homer.bmp")
photo = ImageTk.PhotoImage(image)
label = Label(image=photo)
label.pack()
root.mainloop()
Gruß, mawe

Verfasst: Montag 14. Februar 2005, 07:56
von sirroseide
Danke mave! Endlich eine genaue Antwort auf meine ungenaue Frage. :D

Verfasst: Donnerstag 17. Februar 2005, 08:50
von sirroseide
:? Ich habe den Programmtext von mave kopiert und in der Schule ausprobiert. Es hat geklappt. Aber zu Hause gehts nicht, weil es einen Fehler gibt: Module PIL does not exist. Ich habe die Pythonversion 2.3.4! Warum klappts nicht?

Verfasst: Donnerstag 17. Februar 2005, 12:09
von mawe
Hi!

Du musst auch PIL installiert haben :wink:

Gruß, mawe

Verfasst: Donnerstag 17. Februar 2005, 13:42
von Leonidas
Was ist eingentlich um PIL 1.1.5 los? Das wird ja nie released.

Verfasst: Freitag 18. Februar 2005, 22:06
von mawe
Hi Leonidas!

Die beta-Version gibt's schon, schau mal hier.

Gruß, mawe

Verfasst: Freitag 18. Februar 2005, 22:23
von Leonidas
Und was spricht dagegen, dass als final zu releasen? Scheint doch ganz ok zu sein.

Verfasst: Freitag 18. Februar 2005, 22:40
von mawe
Jo wos was I :)