Метод многократного использования:
-(UIImage*)ExtractImageOn:(CGPoint)pointExtractedImg ofSize:(CGSize)sizeExtractedImg FromSpriteSheet:(UIImage*)imgSpriteSheet
{
UIImage *ExtractedImage;
CGRect rectExtractedImage;
rectExtractedImage=CGRectMake(pointExtractedImg.x,pointExtractedImg.y,sizeExtractedImg.width,sizeExtractedImg.height);
CGImageRef imgRefSpriteSheet=imgSpriteSheet.CGImage;
CGImageRef imgRefExtracted=CGImageCreateWithImageInRect(imgRefSpriteSheet,rectExtractedImage);
ExtractedImage=[UIImage imageWithCGImage:imgRefExtracted];
CGImageRelease(imgRefExtracted);
//CGImageRelease(imgRefSpriteSheet); I have commented it because
// we should not release the object that we don't own.
// So why do we release imgRefExtracted alone? because it has
// name create in its method so the ownership comes to us so we
// have to release it.
return ExtractedImage;
}
К вашему сведению:
Несмотря на то, что на этот вопрос был дан четкий ответ, я подумал, что его можно использовать как простойФрагмент кода «Copy-Paste» очень помог бы программистам, и я приписываю ответ michal