diff options
author | Jason Rock <jrock@jrock-desktop.(none)> | 2009-03-20 01:49:13 (GMT) |
---|---|---|
committer | Jason Rock <jrock@jrock-desktop.(none)> | 2009-03-20 01:49:13 (GMT) |
commit | d6e391eeb2ae8dca1ec641cffd7d30e20b7072e5 (patch) | |
tree | c289d5f56493c80e9600b94c80cdf768f8bc5662 /repeatedpic.py | |
parent | bfc7191293ce0e2eebb30fbc48e6927fcf0ce62f (diff) |
repeatedpic.py is a more pythonic/OO version of
the origional drawxos.
Diffstat (limited to 'repeatedpic.py')
-rw-r--r-- | repeatedpic.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/repeatedpic.py b/repeatedpic.py new file mode 100644 index 0000000..d3d193c --- /dev/null +++ b/repeatedpic.py @@ -0,0 +1,60 @@ +import os, sys, pygame +from pygame.locals import * + +class drawingArea: + + #screen size + ysize = 600 + xsize = 800 + #image to repeatedly draw + image = None + #background colo + background = (255,255,255) + #the pygame window to draw the image on + screen = None + #the offsets so the image is centered on the drawing area + yoffset = 0 + xoffset = 0 + + def __init__(self, xsize = 800, ysize = 600, numx = 12, numy = 12, image = "XO.png", backgroundColor = (255,255,255)): + #initialize the pygame display + self.screen = pygame.display.set_mode((xsize,ysize)) + self.image = pygame.image.load(image) + (self.xsize,self.ysize) = self.screen.get_size() + self.screen.fill(self.background) + + #resize the image to "fit" the drawing area + + def resize_image(self,numx,numy): + (xx,yy) = self.image.get_size() + + mult = min(float(self.xsize)/(xx*numx),float(self.ysize)/(yy*ysize)) + + self.image = pygame.transform.scale(self.image,(int(xx*mult),int(yy*mult))) + yoffset = (self.ysize-numx*self.image.get_width())/2 + xoffset = (self.xsize-numy*self.image.get_height())/2 + + def draw(self,x,y): + self.screen.fill(self.background) + + for i in range(0,x): + for j in range(0,y): + self.screen.blit(self.image,(i*self.image.get_width()+self.xoffset,j*self.image.get_height()+self.yoffset)) + + pygame.display.flip() + + def set_background(self,background): + self.background = background + + def resize_screen(self,xsize, ysize): + self.screen = pygame.display.set_mode((xsize,ysize)) + (self.xsize,self.ysize) = self.screen.get_size() + self.screen.fill(background) + + +if __name__ == '__main__': + pygame.init() + da = drawingArea() + da.draw(4,3) + + raw_input() |