Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 4, 2015 00:08:28

EvoLwe
Зарегистрирован: 2015-05-26
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Накладка фильтров на фото.

как к данному коду прикрутить меню выбора накладки фильтров на фото в точности:
1) накладку серого
if (mode == 0):
for i in range(width):
for j in range(height):
a = pix
b = pix
c = pix
S = (a + b + c) // 3
draw.point((i, j), (S, S, S))
2)Негатив
if (mode == 2):
for i in range(width):
for j in range(height):
a = pix
b = pix
c = pix
draw.point((i, j), (255 - a, 255 - b, 255 - c))
3)и добавление шумов
if (mode == 3):
factor = int(input('factor:'))
for i in range(width):
for j in range(height):
rand = random.randint(-factor, factor)
a = pix + rand
b = pix + rand
c = pix + rand
if (a < 0):
a = 0
if (b < 0):
b = 0
if (c < 0):
c = 0
if (a > 255):
a = 255
if (b > 255):
b = 255
if (c > 255):
c = 255
draw.point((i, j), (a, b, c))

Ну и как сохранить потом эти изменения ?

from Tkinter import *
import Image, ImageTk, tkFileDialog, random, ImageDraw
from tkMessageBox import*
global img, imgobj
def show():
global img, imgobj

filename = tkFileDialog.askopenfilename()
if filename != ():

src_img = Image.open(filename)
img = ImageTk.PhotoImage(src_img)
c.itemconfigure(imgobj, image=img, anchor=“nw”)

def callback():
if askyesno('Verify', ‘Really quit?’):
tk.destroy()
else:
showinfo('No', ‘Quit has been cancelled’)
tk = Tk()
main_menu = Menu(tk)
tk.config(menu=main_menu)
file_menu = Menu(main_menu)
main_menu.add_cascade(label=“File”, menu=file_menu)
file_menu.add_command(label=“Open”, command=show)
file_menu.add_separator()
file_menu.add_command(label=“Exit”, command=callback)
c = Canvas(tk, width=300, height=300, bg=“white”)
imgobj = c.create_image(0, 0)
c.pack()
tk.mainloop()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version