я пытаюсь создать программу в JES с двумя функциями, основной() и addVignette (inputPic, виньетка)Jython JES: добавление профиля виньетка
Основная функция(), где два объекта изображения будет создано. Я хочу, чтобы он позволял пользователю выбирать входное изображение (изображение, которое нужно манипулировать), а затем разрешать пользователю выбирать виньетку (vignette_profile.jpg). Как только эти два объекта изображения будут созданы, он должен затем вызвать addVignette (inputPic, виньетка).
Функция addVignette (inputPic, vignette) должна быть записана для приема двух объектов изображения в качестве параметров. Эти объекты изображения были созданы в функции main() и переданы в качестве входных данных для этой функции. Таким образом, в основном, используя два объекта изображения, мне нужна моя функция для выполнения операции добавления виньетки, и эта операция должна применяться против каждого пикселя в изображении inputPic. Недавно отредактированное изображение должно отображаться на экране.
У меня возникли проблемы с размножением изображений. Я не уверен, что кодирование неверно или мое уравнение неверно. Я не знаю, что кодировать, так как профиль виньетки имеет более темные края и более яркий центр.
спасибо, ребята!
def main():
file1 = pickAFile()
file2 = pickAFile()
inputPic=makePicture(file1)
vignette=makePicture(file2)
addVignette(inputPic,vignette)
def addVignette(inputPic,vignette):
if getWidth(inputPic)==getWidth(vignette) and getHeight(inputPic)==getHeight(vignette):
explore(inputPic)
explore(vignette)
allpx=getAllPixels(inputPic)
for px in getAllPixels(inputPic):
x=getX(px)
y=getY(px)
px2=getPixelAt(vignette,x,y)
x1=getX(px)
y2=getY(px)
r1=getRed(px)
r2=getRed(px2)
g1=getGreen(px)
g2=getGreen(px2)
b1=getBlue(px)
b2=getBlue(px2)
if (1<r2<137):
r3=(r2-r1)-33
g3=(g2-g1)+21
b3=(b1-b2)+51
if (138<r2<210):
r3=(r2-r1)-21
g3=(g2-g1)+49
b3=(b1-b2)+121
if (211<r2<246):
r3=(r2-r1)+66
g3=(g2-g1)+138
b3=(b1-b2)+177
if (247<r2<255):
r3=(r2-r1)+44
g3=(g2-g1)+125
b3=(b2-b1)+201
setRed(px,r3)
setGreen(px,g3)
setBlue(px,b)
explore(inputPic)
else:
print "Try Again"