Получение PNG на Python [дубликат]

Самое простое решение - создать функцию JavaScript и вызвать его для обратного вызова Ajax success.

function callServerAsync(){
    $.ajax({
        url: '...',
        success: function(response) {

            successCallback(response);
        }
    });
}

function successCallback(responseObj){
    // Do something like read the response and show data
    alert(JSON.stringify(responseObj)); // Only applicable to JSON response
}

function foo(callback) {

    $.ajax({
        url: '...',
        success: function(response) {
           return callback(null, response);
        }
    });
}

var result = foo(function(err, result){
          if (!err)
           console.log(result);    
}); 
3
задан zsrkmyn 22 December 2014 в 09:49
поделиться

5 ответов

tkinter поддерживает только 3 формата файлов с летучей мыши, которые являются GIF, PGM и PPM. Вам нужно будет либо преобразовать файлы в .GIF, либо загрузить их (гораздо проще, но, как сказал jonrsharpe, ничто не будет работать без преобразования файла в первую очередь), или вы можете перенести свою программу на Python 2.7 и использовать Python Imaging Library (PIL) и его расширения tkinter использовать PNG-изображение.

Ссылка, которую вы можете найти полезной: http://effbot.org/tkinterbook/photoimage.htm

7
ответ дан Benjamin James Drury 3 September 2018 в 13:10
поделиться

Исправлено в официальном python.org 64-разрядном (только) установщике для OS X. Tk версия 8.6 включена в комплект. Предупреждение: если вы используете доморощенный, на этом посту, сделав brew install python3, вы получите только 8.5, а 8.6 требуется использовать png, поэтому вам придется использовать официальный установщик. Чтобы проверить, какой Tk вы используете:

$ python3 -c 'import tkinter; print(tkinter.TkVersion);'

Если он сообщает 8.6, вам хорошо идти.

0
ответ дан eyllanesc 3 September 2018 в 13:10
поделиться

PIL теперь заменен на Pillow http://pillow.readthedocs.io/en/3.2.x/

решение:

from Tkinter import *
import PIL.Image
import PIL.ImageTk

root = Toplevel()

im = PIL.Image.open("photo.png")
photo = PIL.ImageTk.PhotoImage(im)

label = Label(root, image=photo)
label.image = photo  # keep a reference!
label.pack()

root.mainloop()
8
ответ дан HCLivess 3 September 2018 в 13:10
поделиться

попробуйте использовать библиотеку PIL вместо преобразования вашего изображения в GIF, PGM или PPM (PhotoImage), только принимайте эти 3 формата.

import tkinter as tk
import PIL.Image
import PIL.ImageTk

base = tk.Tk()
base.title("Dialy Dose")

logoPath = r"C:\Users\saigopi\Downloads\logo.png"

ref = PIL.Image.open(logoPath)
photo = PIL.ImageTk.PhotoImage(im)

inputEdit = tk.Label(base,text="Enter Quote")
save = tk.Button(base,text="Save",background="green",command=save())
logo = tk.Label(base,image=photo,text="Logo bro lite")
quote = tk.Label(base,text="I am saying you are more than something")

inputEdit.pack()
save.pack()
logo.pack()
quote.pack()

base.mainloop()
0
ответ дан saigopi 3 September 2018 в 13:10
поделиться

Tkinter 8.6 поддерживает формат файла png, а tkinter 8.5 - нет. Если у вас есть опция update python, и вы должны быть в порядке, чтобы использовать png. Если вам нужно использовать более старую версию python, вы должны использовать Pillow (поддерживаемая пилотная fork), которая также работает на python3.

Если вы начинаете новый проект, не используйте python2 или PIL, как это предлагается в принятом ответ, они оба являются обесцененными технологиями.

3
ответ дан timeyyy 3 September 2018 в 13:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: