2009-08-31 4 views
5

Ich bin ein einfaches Werkzeug zu schaffen Album Cover-Bilder zu MP3-Dateien in Python hinzuzufügen. Bis jetzt arbeite ich gerade daran, eine Anfrage an Amazon mit Künstler- und Albumtitel zu senden und die resultierende Liste zu erhalten, sowie die tatsächlichen Bilder für jedes Ergebnis zu finden. Was ich tun möchte, ist ein einfaches Bild mit einem Button/Link für jedes Bild anzuzeigen, und eine Überspringen/Abbrechen-Taste.Anzeige JPG-Bilder in Python

Ich habe etwas googeln getan, aber ich kann keine Beispiele, die ich als Basis verwenden können.

  1. Ich möchte die Bilder direkt aus dem Internet anzeigen. Ie. mit urllib das Bytes in dem Speicher zu öffnen und zu lesen, anstatt gehen über eine Datei auf der Festplatte
  2. ich die Bilder als Schaltflächen vorzugsweise

Alle Beispiele anzeigen will scheint auf der Arbeit an Dateien auf der Festplatte zu konzentrieren, eher mit nur einem Puffer. Die TK-Dokumentation in der Python-Standardbibliothek scheint das grundlegende Button-Widget nicht zu umfassen. Das scheint eine leichte Aufgabe zu sein, ich hatte einfach noch kein Glück, die richtige Dokumentation zu finden.

+2

Sie nur geschrieben, was Sie wollen, keine Frage (n). – tuergeist

Antwort

3

können Sie thisurllib.urlopen() mit modifizieren. Aber ich weiß nicht (wie ich es nicht getestet habe), wenn Sie diesen Schritt machen können, ohne die (Bild-) Datei lokal zu speichern. Aber IMHO urlopen gibt einen Datei-Handle, das in tk.PhotoImage() verwendbar ist.

Für jpg-Dateien in Photobildes Sie benötigen PIL:

from PIL import Image, ImageTk 
image = Image.open("test.jpg") 
photo = ImageTk.PhotoImage(image) 
+0

Ich musste laufen 'sudo apt-get installieren python-imaging-tk' für den ImageTk-Import zu arbeiten – tino

+0

' RuntimeError: zu früh, um Image zu erstellen, was auch immer das bedeutet – endolith

-1

Für die Anzeige JPGs in Python überprüfen PIL

+0

'PIL' ist für die Manipulation von Bildern. Es ist nervig, wenn die Ergebnisse tatsächlich ** angezeigt werden **. In der Tat 'PIL'‚s 'Image.show()' Methode speichert die Bilddaten in eine temporäre Datei und ruft ein externes Programm zu zeigen. – nosklo