Skip to content

Instantly share code, notes, and snippets.

Created October 16, 2016 15:24
Show Gist options
  • Save anonymous/16683ba07f5ee4753b30ddb84eef0ffb to your computer and use it in GitHub Desktop.
Save anonymous/16683ba07f5ee4753b30ddb84eef0ffb to your computer and use it in GitHub Desktop.
def collage():
picture1 = makePicture(getMediaPath("BigButterflyEdited.jpg"))
picture2 = makePicture(getMediaPath("BigButterflyEdited.jpg"))
picture3 = makePicture(getMediaPath("BigButterflyEdited.jpg"))
picture4 = makePicture(getMediaPath("BigButterflyEdited.jpg"))
picture5 = makePicture(getMediaPath("BigButterflyEdited.jpg"))
canvas = makeEmptyPicture(700, 515, white)
#Original, unedited picture
copy(picture1, canvas, 0,0)
#Second, grey-scaled picture
greyScale(picture2)
copy(picture2, canvas, 233, 0)
#Third, color-averaged picture
colorAvg(picture3)
copy(picture3, canvas, 233*2, 0)
#Fourth, color swap picture
colorSwap(picture4)
copy(picture4, canvas, 0, 211)
#Fifth, lightened picture
lighten(picture5)
copy(picture5, canvas, 233, 211)
#Shows the end canvas with all five pictures
show(canvas)
def copy(picture, destination, targetX, targetY):
targetX = 0
for sourceX in range(0, getWidth(picture)):
targetY = 0
for sourceY in range(0, getHeight(picture)):
color = getColor(getPixel(picture, sourceX, sourceY))
setColor(getPixel(destination, targetX, targetY), color)
targetY = targetY + 1
targetX = targetX + 1
def greyScale(picture):
for p in getPixels(picture):
intensity = (getRed(p)+getGreen(p)+getBlue(p))/3
setColor(p,makeColor(intensity,intensity,intensity))
#repaint(picture)
def colorAvg(picture):
for p in getPixels(picture):
averageRed = ((getRed(p) + 190) / 3)
averageBlue = ((getBlue(p) + 85) / 4)
averageGreen = ((getGreen(p) + 111) /5)
setColor(p,makeColor(averageRed,averageBlue,averageGreen))
#repaint(picture)
def colorSwap(picture):
for p in getPixels(picture):
oldRed = (getRed(p))
oldBlue = (getBlue(p))
oldGreen = (getGreen(p))
newRed = oldBlue
newBlue = oldGreen
newGreen = oldRed
setColor(p,makeColor(newRed,newBlue,newGreen))
#repaint(picture)
def lighten(picture):
for x in range (0,4):
for px in getPixels(picture):
color = getColor(px).makeLighter()
px.setColor(color)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment