views:

738

answers:

1

I have several rectangular images (in landscape and portrait mode) and want to draw them onto a transparent square image, so that all images became the same size without cropping them. How would I create a transparent UIImage and draw another on top?

Thanks for any hints.

+1  A: 
  1. Create a bitmap graphic context with CGBitmapContextCreate. You'll need to determine what the size of the resulting composite image here. You can think of this as a sort of canvas.
  2. Draw the images using CGContextDrawImage. This will draw images onto the same context.
  3. Once you're done drawing all the images into the same context, create an image from that context with CGBitmapContextCreateImage.
  4. Convert the Core Graphics image from step #3 into a UIImage with [UIImage imageWithCGIImage:].

Code examples can be found here.

Giao