«копировать и вставить» программу PythonPython

Программы на Python
Ответить
Anonymous
 «копировать и вставить» программу Python

Сообщение Anonymous »

В настоящее время я пытаюсь написать программу, которая читает файл GIF, отображает его изображение на экране, а затем позволяет пользователю выбрать прямоугольную часть изображения для «копирования и вставки», то есть для последующего копирования изображения. внутри прямоугольника, а затем сохраните результат как новый файл GIF. Я продвинулся довольно далеко в этом, но каждый раз, когда мне кажется, что я это понял, кажется, что всплывает новая ошибка!

# CopyAndPaste.py

# This program is designed to read a GIF file, display its image on the screen, allows the user to
# select a rectangular portion of the image to copy and paste, and then save the result as a new GIF file

import tkinter
from tkinter import *
import base64

root = Tk()

def action(canvas):
canvas.bind("", xaxis)
canvas.bind("", yaxis)
canvas.bind("", box)

def xaxis(event):
global x1, y1
x1, y1 = (event.x - 1), (event.y - 1)
print (x1, y1)

def yaxis(event):
global x2, y2
x2, y2 = (event.x + 1), (event.y + 1)
print (x2, y2)

def box(event):
photo = PhotoImage(file="picture.gif")
yaxis(event)
canvas.create_rectangle(x1,y1,x2,y2)
for x in range(x1, x2):
for y in range(y1, y2):
r,g,b = getRGB(photo, x, y)
newImage(r, g, b, x, y)

def getRGB(photo, x, y):
value = photo.get(x, y)
return tuple(map(int, value.split(" ")))

def newImage(r, g, b, x, y):
picture = PhotoImage(width=x, height=y)
picture.put("#%02x%02x%02x" % (r,g,b), (x,y))
picture.write('new_image.gif', format='gif')

canvas = Canvas(width=500, height=250)
canvas.pack(expand=YES, fill=BOTH)
photo = PhotoImage(file="picture.gif")
canvas.create_image(0, 0, image=photo, anchor=NW)
canvas.config(cursor='cross')
action(canvas)

root.mainloop()


Подробнее здесь: https://stackoverflow.com/questions/299 ... on-program
Ответить

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

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

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

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

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