Форум сайта python.su
Подскажите, как использовать изображение формата png без PIL.
Раньше использовал tkpng0.7 и всё работало на winXP 32разр. Pytnon2.7.
Сейчас WIN7 64разр. Python2.7 тоже 64разр. Использую тот же модуль tkpng0.7
import _tkinter
tkt = _tkinter.create()
tkt.call(“package”, “require”, “tkpng”)
>>>TclError: couldn't load library “C:/Python27/tcl/tkpng0.7/tkpng07.dll”: invalid argument.
Не пойму в чём проблема.
Офлайн
Что значит “изображения формата”? Нужно файл открыть или поместить его на рабочую форму?
Или его необходимо изменить?
Если я правильно понял, то Вам нужно вот-это:
python 3.Х
import tkinter root = tkinter.Tk() root.tk.call('wm', 'title', root, "aps") root.mainloop()
Отредактировано 4kpt (Сен. 10, 2013 19:10:16)
Офлайн
Нужно поместить изображение из файла img.png например на кнопку(Button)
У меня python 2.7 64ёх битная версия на win7.
Офлайн
Без PIL это крайне сложно. Действительно нельзя установить PIL в систему?
С PIL реально добавляется только одна строка…
У Tkinter есть класс, отвечающий за вставки изображений. Даже два.
Один: BitmapImage работает с файлами .xbm
Другой: Photoimage работает с файлами .gif, .ppm, .pgm
Пример использования класса PhotoImage
import Tkinter # root = Tkinter.Tk() root.geometry("400x400+100+100") img = Tkinter.PhotoImage(file="D:\\Python27\\foto.png") # btn = Tkinter.Button(root, image=img) btn.place(relx=0.5, rely=0.5, anchor="center") # root.mainloop()
Отредактировано 4kpt (Сен. 11, 2013 13:13:58)
Офлайн
> TclError: couldn't load library “CPython27/tcl/tkpng0.7/tkpng07.dll”: invalid argument.
Смотри что не так с этой библиотекой. Под какую платформу она собрана?
Офлайн
Rodegast
По-умолчанию там такого нет. Просто видимо VVVAlex работал на машине, где что-то было доустановлено. Пытаюсь решить проблему без использования этого куска :)
Офлайн
tkpng0.7 наверное собрана действительно не под ту платформу.
Правда есть tkpng0.9 но там исходники и мне нечем их собрать т.к.
нет VS (да и не ясно какая версия студии нужна).
Офлайн
VVVAlex
Вы изобретаете велосипед.
Причем далеко не самого лучшего качества :)
Зачем?
Отредактировано 4kpt (Сен. 11, 2013 15:28:31)
Офлайн
Я не изобретаю велосипеда.
Это всё работает на 32битной версии python с модулем tkpng07.
А Ваш код выше не работает! (Сами пишете, что класс Photoimage работает с файлами .gif, .ppm, .pgm
а у меня .PNG).
Офлайн
Используйте PIL. Он специально для этого написан.
Вам все равно придеться добавлять Ваш модуль, поэтому добавьте PIL и решите все свои проблемы одним махом :)
Как выводит изображения с использованием PIL на 32 или 64 разрядной системе могу написать.
P.S. Постоянно работаю с фото ввиду специфики заказов, поэтому знаю, что пишу.
Офлайн