размер фонового изображения в ткинтер - PullRequest
0 голосов
/ 14 мая 2018

Мне нужно изменить размер моего окна (tkinter) в соответствии с шириной и высотой моего фонового изображения. Мой код

from tkinter import *
from PIL import ImageTk
import cv2

image=cv2.imread("New_refImg.png")
width_1, height_1,channels = image.shape   

canvas = Canvas(width = width_1, height = height_1, bg = 'blue')
canvas.pack(expand = YES, fill = BOTH)

img = ImageTk.PhotoImage(file = "New_refImg.png")
canvas.create_image(10, 10, image = img, anchor = NW)

mainloop()

Я использую простой метод, я вызываю одно и то же изображение дважды: image=cv2.imread("New_refImg.png") и img = ImageTk.PhotoImage(file = "New_refImg.png"), но есть ли способ изменить эту строку img = ImageTk.PhotoImage(file = "New_refImg.png")что-то в этом роде img = ImageTk.PhotoImage(image) (изображение уже было вызвано в 3-й строке кода) Спасибо

1 Ответ

0 голосов
/ 15 мая 2018

Я не знаю о PIL, но я могу показать вам, как это сделать в tkinter:

from tkinter import *

root = Tk() # Create Tk before you can create an image

img = PhotoImage(file='pilner.png')
w, h = img.width(), img.height()   

canvas = Canvas(root, width=w, height=h, bg='blue', highlightthickness=0)
canvas.pack(expand = YES, fill = BOTH)
canvas.create_image(0, 0, image=img, anchor=NW)

root.mainloop()

highlightthickness=0 перемещает границу выделения на холсте.Я позиционирую его на 0,0, чтобы не показывать BG.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...