Найти - Пользователи
Полная версия: Формат PNG нужна помощь
Начало » GUI » Формат PNG нужна помощь
1 2
VVVAlex
Подскажите, как использовать изображение формата 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.
Не пойму в чём проблема.
4kpt
Что значит “изображения формата”? Нужно файл открыть или поместить его на рабочую форму?
Или его необходимо изменить?

Если я правильно понял, то Вам нужно вот-это:

python 3.Х

import tkinter
root = tkinter.Tk()
root.tk.call('wm', 'title', root, "aps")
root.mainloop()

Я описал подход. Но этот подход изначально неверен.
P.S. Ответьте мне на предыдущий вопрос и я, возможно, найду для Вас более простое и понятное решение :)
VVVAlex
Нужно поместить изображение из файла img.png например на кнопку(Button)
У меня python 2.7 64ёх битная версия на win7.
4kpt
Без 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()
Rodegast
> TclError: couldn't load library “CPython27/tcl/tkpng0.7/tkpng07.dll”: invalid argument.

Смотри что не так с этой библиотекой. Под какую платформу она собрана?
4kpt
Rodegast
По-умолчанию там такого нет. Просто видимо VVVAlex работал на машине, где что-то было доустановлено. Пытаюсь решить проблему без использования этого куска :)
VVVAlex
tkpng0.7 наверное собрана действительно не под ту платформу.
Правда есть tkpng0.9 но там исходники и мне нечем их собрать т.к.
нет VS (да и не ясно какая версия студии нужна).
4kpt
VVVAlex
Вы изобретаете велосипед.
Причем далеко не самого лучшего качества :)
Зачем?
VVVAlex
Я не изобретаю велосипеда.
Это всё работает на 32битной версии python с модулем tkpng07.
А Ваш код выше не работает! (Сами пишете, что класс Photoimage работает с файлами .gif, .ppm, .pgm
а у меня .PNG).
4kpt
Используйте PIL. Он специально для этого написан.
Вам все равно придеться добавлять Ваш модуль, поэтому добавьте PIL и решите все свои проблемы одним махом :)

Как выводит изображения с использованием PIL на 32 или 64 разрядной системе могу написать.

P.S. Постоянно работаю с фото ввиду специфики заказов, поэтому знаю, что пишу.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB