Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

select part of image (clipping)

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 clipsToBounds 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!

like image 273
Robin Avatar asked Feb 09 '10 21:02

Robin


2 Answers

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);
like image 74
willcodejavaforfood Avatar answered Oct 08 '22 01:10

willcodejavaforfood


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;
like image 43
Alex Wayne Avatar answered Oct 08 '22 02:10

Alex Wayne