On Oct 8, 10:39 am, bfrederi <[EMAIL PROTECTED]> wrote: > On Oct 8, 10:30 am, Marc 'BlackJack' Rintsch <[EMAIL PROTECTED]> wrote: > > > > > On Wed, 08 Oct 2008 08:10:02 -0700, bfrederi wrote: > > > I am having a problem using PIL. I am trying to crop and image to a > > > square, starting from the center of the image, but when I try to crop > > > the image, it won't crop. Here are the relevant code snippets: > > > > ### Function I am testing ### > > > def create_square_image(file_name): > > > """ Creates a thumbnail sized image and turns it into a square """ > > > image = Image.open(open(file_name)) > > > > size_tuple = image.size > > > width = size_tuple[0] > > > height = size_tuple[1] > > > > square_length = 75 > > > > x1 = (width / 2) - (square_length / 2) x2 = x1 + square_length > > > y1 = (height / 2) - (square_length / 2) y2 = y1 + square_length > > > > image.crop((x1,y1,x2,y2)) > > > This doesn't change `image` but creates and returns a new cropped image > > which you simply ignore. > > > > image.save(file_name, "JPEG") > > > Ciao, > > Marc 'BlackJack' Rintsch > > How do I output it to an actual file then? Or overwrite the existing > file?
Nevermind, I gotcha. I needed to do this: def create_square_image(file_name): """ Creates a thumbnail sized image and turns it into a square """ image = Image.open(open(file_name)) size_tuple = image.size width = size_tuple[0] height = size_tuple[1] square_length = 75 x1 = (width / 2) - (square_length / 2) x2 = x1 + square_length y1 = (height / 2) - (square_length / 2) y2 = y1 + square_length new_image = image.crop((x1,y1,x2,y2)) try: new_image.save(file_name, "JPEG") except IOError: print "Cannot create square image for", file_name I needed to output the cropped image by getting the cropped image in "new_image" and outputting the new file. I see what you were saying. -- http://mail.python.org/mailman/listinfo/python-list