Я использую python и PIL для управления двумя изображениями. Я успешно разместил одно изображение на другом, используя getpixel и putpixel. Нам не разрешено использовать любую функцию копирования/вставки, которую предоставляет pil (следовательно, getpixel и putpixel). Теперь я в основном пытаюсь поместить первое изображение (скажем, изображение шаблона) в определяемое пользователем местоположение целевого изображения. Я знаю, как принимать пользовательский ввод, но я не могу понять, куда помещать эти переменные, чтобы изображение шаблона отображалось в координатах пользователя. Я в основном хочу сделать эти координаты новым источником для изображения шаблона. Я попытался использовать координаты как putpixel x и y, но, я думаю, это просто укладка пикселей друг на друга в координатах пользователя. Я уверен, что это просто, что мне не хватает. Любая помощь будет оценена по достоинству. Кстати, я использую Python 2.7.Обработка изображений на Python - перемещение изображения
from PIL import Image
import sys
print "Image Manipulation\n"
tempImg = Image.open("template.png")
destImg = Image.open("destination.jpg")
tempWidth,tempHeight = tempImg.size
destWidth,destHeight = destImg.size
if tempWidth >= destWidth and tempHeight >= destHeight:
print "Error! The template image is larger than the destination image."
sys.exit()
else:
print "The template image width and height: ",tempWidth,tempHeight
print "The destination image width and height: ",destWidth,destHeight
x_loc = raw_input("Enter the X coordinate: ")
y_loc = raw_input("Enter the Y coordinate: ")
x_loc = int(x_loc) # <--where do I put these?
y_loc = int(y_loc)
tempImg = tempImg.convert("RGBA")
destImg = destImg.convert("RGBA")
img = tempImg.load()
for x in xrange(tempWidth):
for y in xrange(tempHeight):
if img[x,y][1] > img[x,y][0] + img[x,y][2]:
img[x,y] = (255,255,255,0)
else:
destImg.putpixel((x,y),tempImg.getpixel((x,y)))
destImg.show()