#  ███╗ ██████╗ ██████╗  █████╗ ██████╗ ██╗  ██╗██╗██╗  ██╗███╗
#  ██╔╝██╔════╝ ██╔══██╗██╔══██╗██╔══██╗██║  ██║██║██║ ██╔╝╚██║
#  ██║ ██║  ███╗██████╔╝███████║██████╔╝███████║██║█████╔╝  ██║
#  ██║ ██║   ██║██╔══██╗██╔══██║██╔═══╝ ██╔══██║██║██╔═██╗  ██║
#  ███╗╚██████╔╝██║  ██║██║  ██║██║     ██║  ██║██║██║  ██╗███║
#  ╚══╝ ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝  ╚═╝╚═╝╚═╝  ╚═╝╚══╝
# by buuart


#Создаем изображение:

import Image, ImageDraw
text = "Python Imaging Library in Habr :)"
color = (0, 0, 120)
img = Image.new('RGB', (100, 50), color)
imgDrawer = ImageDraw.Draw(img)
imgDrawer.text((10, 20), text)
img.save("pil-example.png")


#Выводим формат, тип, размер изображения:

import Image, ImageDraw 
img = Image.open('test.png') #открываем картинку
size = img.size #размер картинки
format = img.format #формат картинки
mode = img.mode #мод(RGBA...)
arr = [] #создаем пустой массив 
arr.append(size)  #добавляем размер в массив
arr.append(format) #добавляем формат в массив
arr.append(mode)  #добавляем мод в массив
print arr #выводим массив


#Выводим информацию о изображении:

import Image, ImageDraw
img = Image.open('test.png')
print img.info


#Конвертация изображения:

import Image, ImageDraw
img = Image.open('test.png')
img.save('test.gif')


import random
from PIL import Image, ImageDraw  

mode = int(input('mode:'))  
image = Image.open("temp.jpg")  
draw = ImageDraw.Draw(image)  
width = image.size[0]  
height = image.size[1]  	
pix = image.load() 
if (mode == 0):
	for i in range(width):
		for j in range(height):
			a = pix[i, j][0]
			b = pix[i, j][1]
			c = pix[i, j][2]
			S = (a + b + c) // 3
			draw.point((i, j), (S, S, S))
if (mode == 1):
	depth = int(input('depth:'))
	for i in range(width):
		for j in range(height):
			a = pix[i, j][0]
			b = pix[i, j][1]
			c = pix[i, j][2]
			S = (a + b + c) // 3
			a = S + depth * 2
			b = S + depth
			c = S
			if (a > 255):
				a = 255
			if (b > 255):
				b = 255
			if (c > 255):
				c = 255
			draw.point((i, j), (a, b, c))
if (mode == 2):
	for i in range(width):
		for j in range(height):
			a = pix[i, j][0]
			b = pix[i, j][1]
			c = pix[i, j][2]
			draw.point((i, j), (255 - a, 255 - b, 255 - c))
if (mode == 3):
	factor = int(input('factor:'))
	for i in range(width):
		for j in range(height):
			rand = random.randint(-factor, factor)
			a = pix[i, j][0] + rand
			b = pix[i, j][1] + rand
			c = pix[i, j][2] + 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))
if (mode == 4):
	factor = int(input('factor:'))
	for i in range(width):
		for j in range(height):
			a = pix[i, j][0] + factor
			b = pix[i, j][1] + factor
			c = pix[i, j][2] + factor
			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))
if (mode == 5):
	factor = int(input('factor:'))
	for i in range(width):
		for j in range(height):
			a = pix[i, j][0]
			b = pix[i, j][1]
			c = pix[i, j][2]
			S = a + b + c
			if (S > (((255 + factor) // 2) * 3)):
				a, b, c = 255, 255, 255
			else:
				a, b, c = 0, 0, 0
			draw.point((i, j), (a, b, c))
image.save("ans.jpg", "JPEG")
del draw


img=Image.new('L',(10,10),(255))
draw = ImageDraw.Draw(img)
for x in range(10):
	for y in range(20):
		if(int(q[x][y])>255):
			color=255
		else:
			color=int(q[x][y])
		draw.point((y,x),(color))
img.save("ans.jpg", "JPEG")
del draw