from PIL import Image, ImageDraw # Подключим необходимые библиотеки.
image = Image.open("temp.jpg") # Открываем изображение.
width = image.size[0] # Определяем исходную ширину.
height = image.size[1] # Определяем исходную высоту.
pix = image.load() # Выгружаем значения пикселей исходной картинки.
imagemode = image.mode # Получаем цветовой формат исходного изображения
multiplicator = 2 # тут множитель, по-умолчанию 2
newwidth = width * multiplicator # вычисляем новую высоту
newheight = height * multiplicator # вычисляем новую ширину
newimage = Image.new(mode=imagemode, size=(newwidth, newheight)) # создаем новую картинку
newpix = newimage.load() # загружаем новую картинку попиксельно
draw = ImageDraw.Draw(newimage) # создаем инструмент рисования
if __name__ == '__main__':
new_image_list = [] # создаем пустой массив строк нового изображения
for i in range(width):
new_line_list = [] # создаем пустой массив очередной новой строки
for j in range(height): # получаем цветность очередного пикселя исходной картинки
newpixel = pix[i, j]
for _ in range(multiplicator): # лепим в конец массива новой строки нужное кол-во таких пикселей
new_line_list.append(newpixel)
for _ in range(multiplicator): # лепим в конец массива строк нужное кол-во вновь созданных строк
new_image_list.append(new_line_list)
for i in range(newwidth): # рисуем построчно попиксельно новую картинку из массива строк нового изображения
for j in range(newheight):
pixel = tuple(new_image_list[i][j])
draw.point((i, j), pixel)
newimage.save("ans.bmp", "BMP") # записываем всё это в файл (выбрал bitmap потому, что там явно получаются пиксели
# как заказано, без дальнейшей оптимизации форматом jpg
del draw
image.close()
newimage.close()
def getnumber(x, y):
return 4*(int(y)-1)+(int(x)-1)
def encode(text, xkeys, ykeys):
counter = 0
newtext = ['' for _ in range(len(text))]
for y in ykeys:
for x in xkeys:
if counter < len(text):
newtext[getnumber(x, y)] = text[counter]
counter += 1
return ''.join(newtext) #ТУТ ПОДГОНЯТЬ УРАВНЕНИЕ ТАК, ЧТОБЫ ПРИ ШИФРОВКИ "ПРИЛЕТАЮВОСЬМОГО" ПОЛУЧАЛОСЬ "ТЮАЕООГМРЛИПОЬСВ"
def decode(text, xkeys, ykeys):
return) ''.join(text[getnumber(x, y)] for y in ykeys for x in xkeys)
import numpy as np
import matplotlib.pyplot as plt
x = np.array([-6, 7, 4, 3], dtype=float)
y = np.array([-297, 249, 33, 9], dtype=float)
def lagranz(x, y, t):
z = 0
for j in range(len(y)):
p1 = 1;
p2 = 1
for i in range(len(x)):
if i == j:
p1 = p1 * 1;
p2 = p2 * 1
else:
p1 = p1 * (t - x[i])
p2 = p2 * (x[j] - x[i])
z = z + y[j] * p1 / p2
return z
xnew = np.linspace(np.min(x), np.max(x), 100)
ynew = [lagranz(x, y, i) for i in xnew]
counter = 0
step = 9
for xx, yy, tex in zip(xnew, ynew, xnew):
if counter % step == 0:
t = plt.text(xx, yy, round(tex, 2), horizontalalignment='right' if xx < 0 else 'left',
verticalalignment='center', fontdict={'color':'red' if xx < 0 else 'green', 'size':14})
counter += 1
plt.plot(x, y, 'o', xnew, ynew)
plt.grid(True)
plt.show()
elif cmds["ctime"] in exersize:
cmds = {
"ctime": ('текущее время','сейчас времени', 'который час'),
"radio": ('включи музыку', 'воспроизведи радио', 'включи радио'),
"stupid1": ('расскажи анекдот', 'рассмещи меня', 'ты знаешь анекдот')
}
elif cmds["ctime"] in exersize: