Здравствуйте, я использую следующий код.Он правильно отображает маленькие изображения, но я хочу построить длинное изображение, и оно было обрезано.Кажется, что если ширина / высота изображения превышает 35000 пикселей, оно не отображает пиксели больше 35000 пикселей. Я использовал библиотеку боке, и у меня возникла та же проблема.Любая идея, что можно добавить в мой код или любое решение, чтобы преодолеть это ограничение:
from tkinter import *
from PIL import Image
from PIL import ImageTk
import tkinter.filedialog as fdialog
import cv2
class ScrolledCanvas(Frame):
def __init__(self, parent=None):
Frame.__init__(self, parent)
self.master.title("Spectrogram Viewer")
self.pack(expand=YES, fill=BOTH)
canv = Canvas(self, relief=SUNKEN)
canv.config(width=140, height=200)
canv.config(highlightthickness=0)
sbarV = Scrollbar(self, orient=VERTICAL)
sbarH = Scrollbar(self, orient=HORIZONTAL)
sbarV.config(command=canv.yview)
sbarH.config(command=canv.xview)
canv.config(yscrollcommand=sbarV.set)
canv.config(xscrollcommand=sbarH.set)
sbarV.pack(side=RIGHT, fill=Y)
sbarH.pack(side=BOTTOM, fill=X)
canv.pack(side=LEFT, expand=YES, fill=BOTH)
#self.im=Image.open("./1hr_original.jpg")
self.filename = fdialog.askopenfilename(filetypes=(("Image files", "*.jpg *.png"), ("All files", ".")))
self.im = Image.open(self.filename)
width,height=self.im.size
canv.config(scrollregion=(0,0,width,height))
self.im2=ImageTk.PhotoImage(self.im)
self.imgtag=canv.create_image(0,0,anchor="nw",image=self.im2)
ScrolledCanvas().mainloop()