reverse melting effect made with python and pygame - 2 from Mirat Can Bayrak on Vimeo.
from pygame import surfarray, display, image
from random import choice
from os.path import join
class Screen:
def __init__(self,name,resolution):
display.set_mode(resolution,0,24)
display.set_caption(name)
self.surface = display.get_surface()
self.width, self.height = resolution
def blurize(surfarray):
for y in range(2,len(surfarray)-2):
for x in range(2,len(surfarray[y])-2):
surfarray[x][y] = surfarray[x + choice((-1,0,+1))][y + choice((-1,0,+1))]
res = (440,440) # it must be same as image size
screen = Screen('Rendering...',res) # i want a screen
img = image.load("melt.jpg") # load image
screen.surface.blit(img,(0,0))
array = surfarray.pixels3d(screen.surface) # create array from it
display.update() # update my view
frames = 400 # num of frames to render
for frame in range(frames):
image.save(surfarray.make_surface(array), join("output/" ,str(frames-frame) + ".png"))
if frame > 25 :
# do not blurize on first 25 frames
blurize(array)
display.update()
print frame ,"th frame rendered"
çok ilginç bir çalışma olmuş, teşekkürler...
YanıtlaSilhttp://www.python.org/dev/peps/pep-0008/
YanıtlaSilSevgili Adsız, güzel bir yorum olmuş. Özellikle link verip yanına uzun bir sessizlik eklemeniz beni çok etkiledi :) kodun temiz olmadığının bende farkındayım zaten final döneminde stres atmak için yazmıştım. :) Belki python'da yakışıklı kod nasıl yazılır başlıklı bir yazı alırız sizden?
YanıtlaSil