Post Code
def hw2():
buffy=makePicture(getMediaPath("newbuffyelephant.jpg"))
canvas=makePicture(getMediaPath("7inX95in.jpg"))
#picture 1 at left edge
#targetX=1
for X in range (1, getWidth(buffy)):
#targetY= (getHeight(canvas)- getHeight(buffy))
for Y in range (1,getHeight(buffy)):
px=getPixel(buffy, X, Y)
cx=getPixel(canvas, X, Y)
setColor(cx,getColor(px))
#targetY=targetY+1
#targetX=targetX+1
#picture 2, 126 pixels over
greyscale(buffy)
targetX= 126
for sourceX in range (1, getWidth(buffy)):
targetY=5
#targetY=getHeight(canvas) - getHeight(buffy)
for sourceY in range (1,getHeight(buffy)):
px=getPixel(buffy,sourceX, sourceY)
cx=getPixel(canvas, targetX, targetY)
setColor(cx,getColor(px))
targetY=targetY+1
targetX=targetX+1
#picture 3, 172 pixels down
reduceGreen(buffy)
targetX= 1
for sourceX in range (1, getWidth(buffy)):
targetY=172
targetY=getHeight(canvas) - getHeight(buffy)
for sourceY in range (1,getHeight(buffy)):
px=getPixel(buffy,sourceX, sourceY)
cx=getPixel(canvas, targetX, targetY)
setColor(cx,getColor(px))
targetY=targetY+1
targetX=targetX+1
#picture 4, 126 pixels over, 172 pixels down
reduceRed(buffy)
targetX= 126
for sourceX in range (1, getWidth(buffy)):
targetY=172
targetY=getHeight(canvas) - getHeight(buffy)
for sourceY in range (1,getHeight(buffy)):
px=getPixel(buffy,sourceX, sourceY)
cx=getPixel(canvas, targetX, targetY)
setColor(cx,getColor(px))
targetY=targetY+1
targetX=targetX+1
mirrorVertical(canvas)
negative(canvas)
show(canvas)
writePictureTo(canvas,"collage.jpg")
return(canvas)
#picture functions
def negative(picture):
for x in range (252,504):
for y in range (1,684):
print y
p=getPixel(picture, x, y)
r=getRed(p)
g=getGreen(p)
b=getBlue(p)
negColor=makeColor(255-r, 255-g, 255-b)
setColor(p, negColor)
def greyscale(picture):
for p in getPixels(picture):
x = (getRed(p) + getGreen(p) + getBlue(p))/3
setColor(p,makeColor(x,x,x))
def reduceGreen(picture):
for p in getPixels(picture):
value=getGreen(p)
setGreen(p,value*0.7)
def reduceRed(picture):
for p in getPixels(picture):
value=getRed(p)
setRed(p,value*0.5)
def mirrorVertical(picture):
mirrorpoint=252
for y in range (1, getHeight(picture)):
for xOffset in range (1, mirrorpoint):
pright=getPixel(picture, xOffset+mirrorpoint, y)
pleft=getPixel(picture, mirrorpoint-xOffset, y)
c=getColor(pleft)
setColor(pright, c)

