Перемещение изображений от одного холста в другой холст (ES) один за другим или случайным образом без ограничений при пеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Перемещение изображений от одного холста в другой холст (ES) один за другим или случайным образом без ограничений при пе

Сообщение Anonymous »

Недавно я решил написать приложение, которое позволило пользователю загрузить кучу изображений в вертикальный холст и выбрать макет желания (3x3,2x3,5x2, ...) для печати и отправки каждого изображения в пустую комнату макета и после редактирования качества изображения отправьте макет на принтер. Я мог бы справиться с загрузкой изображений на вертикальном холсте и отправлять каждое изображение на другой холст (не макет). Но я мог отправлять изображения только на другой холст всего 2 раза, и в третий раз, несмотря на то, что я выбираю изображение, но оно не отправлялось на другой холст, и я чувствую, что оно повешено в третий раз.
Вот мой скрипт: < /p>
import os
from tkinter import *
from PIL import Image, ImageTk

os.system("cls||clear")

def on_click_Canvas1(event):
global image_id,selected_item,start_x,start_y
selected_item = canvas1.find_closest(event.x, event.y)[0]
start_x, start_y = event.x, event.y

def on_click_Canvas2(event):
global image_id,selected_item,start_x,start_y
if selected_item:
x, y = event.x, event.y
img_tk = image_ids.pop(selected_item, None)

new_id = canvas2.create_image(x, y, image=img_tk)
image_ids[new_id] = img_tk
selected_item = None

def on_mousewheel(event):
canvas1.yview_scroll(int(-1*(event.delta/120)), "units")

root = Tk()

canvas1 = Canvas(root, width=100, height=200, bg="lightblue")
canvas2 = Canvas(root, width=300, height=200, bg="light pink")
canvas1.pack(side=RIGHT,expand=True,fill=BOTH)
canvas2.pack(side=LEFT,expand=True,fill=BOTH)

selected_item = None
start_x = 0
start_y = 0

image_list = ["E:\images_1\image1.jpg",
"E:\images_1\image2.jpg",
"E:\images_1\image3.jpg",
"E:\images_1\image4.jpg",
"E:\images_1\image5.jpg",
"E:\images_1\image6.jpg"]

i = 0
n= 100
image_append = []
image_ids = {}

for image in image_list:
image1 = Image.open(image).resize((n, n))
tk_image = ImageTk.PhotoImage(image1)
image_id = canvas1.create_image(100, n*1.1*i, image=tk_image)
image_append.append(tk_image)
image_ids[image_id] = tk_image
i += 1

vsb = Scrollbar(canvas1, orient=VERTICAL,command=canvas1.yview)
vsb.pack(side=RIGHT, fill=Y)
canvas1.config(yscrollcommand=vsb.set, scrollregion=canvas1.bbox(ALL))

# Bind mouse events for dragging
canvas1.bind("", on_click_Canvas1)
canvas2.bind("", on_click_Canvas2)

canvas1.bind_all("", on_mousewheel)

root.geometry('500x680')
root.mainloop()
< /code>
Я был бы признателен, если помогите, чтобы сообщить мне проблему и исправление.
заранее спасибо < /p>

Подробнее здесь: https://stackoverflow.com/questions/794 ... omly-witho
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»