Gibt es eine Möglichkeit, die Zeichnung der Reihenfolge für vorhandene Formen in Tkinter -Leinwand zu ändern (über einen
Posted: 29 Apr 2025, 14:11
Ich erhalte einen Videostream mit Socket und zeige ihn auf einer Leinwand an. Ich versuche eine Box zu haben, die mit Sliders bewegt werden kann, um ein bestimmtes Objekt im Rahmen zu positionieren. Das Problem ist, dass ich die Form nicht neu zeichne, denke ich, also wird sie unter den Strom gezogen. Gibt es irgendwie um das? Sollte ich eine Leinwand im Raster verdoppeln, damit es oben gezeichnet ist? < /p>
xvar und yvar sind die verknüpften Intvar für die Schieberegel. Ich versuche, es etwas skalierbar zu machen, sodass es ein bisschen chaotisch ist
Code: Select all
self.tempImage = self.tempImage.resize((int(self.videoWidth),int(self.videoHeight)),Image.Resampling.LANCZOS)
self.photo = ImageTk.PhotoImage(image = self.tempImage)
self.VideoCanvas[i].create_image(0, 0, image = self.photo, anchor = tk.NW)
if len(self.BBox) == 0:
self.BBox.append(self.VideoCanvas[i].create_rectangle(self.xVar.get() - 5,self.yVar.get()-5,self.xVar.get()+5,self.yVar.get()+5))
else:
self.VideoCanvas[i].coords(self.BBox[0],self.xVar.get() - 5,self.yVar.get()-5,self.xVar.get()+5,self.yVar.get()+5)