2009-08-31 13 views
5

Tworzę proste narzędzie do dodawania okładek albumów do plików mp3 w pythonie. Do tej pory pracuję nad wysłaniem prośby do amazonki o tytuł artysty i albumu, a także o otrzymaniu listy wyników, a także o znalezieniu rzeczywistych obrazów dla każdego wyniku. Chcę wyświetlić prostą ramkę z przyciskiem/łączem dla każdego obrazu i przycisk pomijania/anulowania.Wyświetlaj obrazy jpg w pythonie

Zrobiłem trochę googlowania, ale nie mogę znaleźć przykładów, które mogę wykorzystać jako bazę.

  1. Chcę wyświetlać obrazy bezpośrednio z internetu. To znaczy. za pomocą urllib, aby otworzyć i przeczytać bajtów do pamięci, zamiast iść za pośrednictwem pliku na dysku
  2. Chcę wyświetlać obrazy jako przyciski korzystnie

Wszystkie przykłady wydaje się skupić na pracy z plikami na dysku, a tylko z buforem. Dokumentacja TK w bibliotece standardowej Pythona nie wydaje się obejmować podstawowego widgetu Button. Wydaje się to być łatwym zadaniem, nie miałem jeszcze szczęścia w znalezieniu odpowiedniej dokumentacji.

+2

Wystarczy tylko napisał to, co chcesz, bez wątpienia (s). – tuergeist

Odpowiedz

3

Można zmodyfikować this przy użyciu urllib.urlopen(). Ale nie wiem (jak tego nie przetestowałem), jeśli możesz wykonać ten krok bez zapisywania pliku (obrazu) lokalnie. Ale IMHO urlopen zwraca uchwyt pliku, który można użyć w tk.PhotoImage().

przypadku plików JPG w PhotoImage trzeba PIL:

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

musiałem uruchomić 'sudo apt-get install python-imaging-tk' dla importu ImageTk do pracy – tino

+0

' RuntimeError: Za wcześnie, aby utworzyć obraz', cokolwiek to znaczy – endolith

-1

Do wyświetlania JPG w Pythonie sprawdzeniu PIL

+0

'PIL' służy do manipulowania obrazami. To jest do bani, kiedy faktycznie ** pokazuje ** wyniki. W rzeczywistości metoda 'Image.show()' zapisuje dane obrazu do pliku tymczasowego i wywołuje program zewnętrzny, aby go wyświetlić. – nosklo