2009-08-31 74 views
5

Tôi đang tạo một công cụ đơn giản để thêm ảnh bìa album vào các tệp mp3 trong python. Cho đến nay tôi chỉ đang làm việc gửi yêu cầu đến amazon với tiêu đề nghệ sĩ và album, và có được danh sách kết quả, cũng như tìm kiếm các hình ảnh thực tế cho mỗi kết quả. Những gì tôi muốn làm là để hiển thị một khung hình đơn giản với một nút/liên kết cho mỗi hình ảnh, và một nút bỏ qua/hủy bỏ.Hiển thị hình ảnh jpg trong python

Tôi đã thực hiện một số googling, nhưng tôi không thể tìm thấy ví dụ mà tôi có thể sử dụng làm cơ sở.

  1. Tôi muốn hiển thị hình ảnh trực tiếp từ web. I E. sử dụng urllib để mở và đọc các byte vào bộ nhớ, chứ không phải đi qua một tập tin trên đĩa
  2. Tôi muốn hiển thị những hình ảnh như nút tốt

Tất cả các ví dụ dường như tập trung vào làm việc trên các tập tin trên đĩa, chứ không phải chỉ với một bộ đệm. Tài liệu TK trong thư viện chuẩn python dường như không bao gồm tiện ích Button cơ bản. Điều này có vẻ như một nhiệm vụ dễ dàng, tôi đã không có bất kỳ may mắn trong việc tìm kiếm các tài liệu thích hợp được nêu ra.

+2

Bạn chỉ viết những gì bạn muốn, không có câu hỏi (s). – tuergeist

Trả lời

3

bạn có thể sửa đổi this bằng cách sử dụng urllib.urlopen(). Nhưng tôi không biết (vì tôi chưa thử nghiệm) nếu bạn có thể thực hiện bước này mà không lưu tệp (hình ảnh) cục bộ. Nhưng IMHO urlopen trả về một tay cầm tệp có thể sử dụng được trong tk.PhotoImage().

Đối với các file jpg trong PhotoImage bạn cần PIL:

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

tôi phải chạy 'sudo apt-get cài đặt python-imaging-tk' để nhập ImageTk hoạt động – tino

+0

' RuntimeError: Quá sớm để tạo hình ảnh', bất kỳ điều gì có nghĩa là – endolith

-1

Để hiển thị jpgs bằng Python kiểm tra PIL

+0

'PIL' là để thao tác hình ảnh. Nó hút khi thực ** hiển thị ** kết quả. Thực tế, phương thức 'Image.show()' của 'PIL' lưu dữ liệu hình ảnh vào một tệp tạm thời và gọi một chương trình bên ngoài để hiển thị nó. – nosklo

Các vấn đề liên quan