title: how to round_corner a logo without white background(transparent?) on it using pil?
body: <p>I got a square logo and I need to round_corner it, searched for a while and got the follow code "working":</p>
  
  <pre><code>def round_corner_jpg(image, radius):
      """generate round corner for image"""
      mask = Image.new('RGB', image.size)
      #mask = Image.new('RGB', (image.size[0] - radius, image.size[1] - radius))
      #mask = Image.new('L', image.size, 255)
      draw = aggdraw.Draw(mask)
      brush = aggdraw.Brush('black')
      width, height = mask.size
      draw.rectangle((0,0,width,height), aggdraw.Brush('white'))
      #upper-left corner
      draw.pieslice((0,0,radius*2, radius*2), 90, 180, None, brush)
      #upper-right corner
      draw.pieslice((width - radius*2, 0, width, radius*2), 0, 90, None, brush)
      #bottom-left corner
      draw.pieslice((0, height - radius * 2, radius*2, height),180, 270, None, brush)
      #bottom-right corner
      draw.pieslice((width - radius * 2, height - radius * 2, width, height), 270, 360, None, brush)
      #center rectangle
      draw.rectangle((radius, radius, width - radius, height - radius), brush)
      #four edge rectangle
      draw.rectangle((radius, 0, width - radius, radius), brush)
      draw.rectangle((0, radius, radius, height-radius), brush)
      draw.rectangle((radius, height-radius, width-radius, height), brush)
      draw.rectangle((width-radius, radius, width, height-radius), brush)
      draw.flush()
      del draw
      return ImageChops.add(mask, image)
  </code></pre>
  
  <p>then I saved the returned image object,however it has white background in the corner
  <a href="http://www.flickr.com/photos/76230909@N03/7484692296/in/photostream" rel="noreferrer"> like this </a>
  How can i get rid of the white background or make it invisible?
  Thanks in advance~</p>
  
  <p>EDIT:
  here is the code by fraxel,thanks~</p>
  
  <pre><code>def add_corners(im, rad):
      circle = Image.new('L', (rad * 2, rad * 2), 0)
      draw = ImageDraw.Draw(circle)
      draw.ellipse((0, 0, rad * 2, rad * 2), fill=255)
      alpha = Image.new('L', im.size, "white")
      w, h = im.size
      alpha.paste(circle.crop((0, 0, rad, rad)), (0, 0))
      alpha.paste(circle.crop((0, rad, rad, rad * 2)), (0, h - rad))
      alpha.paste(circle.crop((rad, 0, rad * 2, rad)), (w - rad, 0))
      alpha.paste(circle.crop((rad, rad, rad * 2, rad * 2)), (w - rad, h - rad))
      im.putalpha(alpha)
      return im
  
  
  if __name__ == '__main__':
      im = Image.open('1.jpg')
      im = add_corners(im, 100)
      im.save('out.png')`
  </code></pre>
  
  <p>I am so sorry..I need the image shape to be ellipse not rectangle,I.E. the write stuff off the pic,and @fraxel, I still can see the white corner in the pic you processed for me</p>