views:

275

answers:

2

This is probably not as hard as I think it is, but how can I select part of an image? Consider the following example:

alt text

The grey area is an image in the PNG or JPG Format, now I want to select the red 80x80 px area from it. The red area should be displayed, the rest not. I have tried numerous approaches:

  • Make ckipsToBounds of UIImageView to YES and the try to offset the image (doesn't work)
  • Clip the upper view (doesn't work)

I also had a look at the drawing functions, yet I have not worked with these yet and it seemed a little bit far fetched to me. Is there any obvious way for doing what I want to do that I am missing out on? I do not want the image to be resized, just clipped.

Thanks for your time!

A: 

Stole the code below from this question and look for HitScan's answer.

CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);
// or use the UIImage wherever you like
[UIImageView setImage:[UIImage imageWithCGImage:imageRef]]; 
CGImageRelease(imageRef);
willcodejavaforfood
A: 

If you only want to show the center of the image an a UIImageView set the content mode to "Aspect Fill" via IB. That will center it and crop off anything extra.

Or in code

myImageView.contentMode = UIViewContentModeScaleAspectFill;
Squeegy