Код использует кварц (графический движок iPhone) для обрезки изображения.некоторые детали:
UIGraphicsBeginImageContext(s);
CGContextRef g = UIGraphicsGetCurrentContext();
Сначала вам понадобится какая-то "цель", чтобы нарисовать.В графике это обычно называется контекстом.Выше вы сообщаете системе, что необходим (растровый) контекст изображения с заданным размером, а затем вы получаете ссылку на него.
CGContextAddPath(g,erasePath);
CGContextAddRect(g,CGRectMake(0,0,s.width,s.height));
CGContextEOClip(g);
Здесь вы указываете путь к контексту, а затем обрезаете контекст,То есть «рисовать только в этих регионах».
[img drawAtPoint:CGPointZero];
Вы рисуете изображение в новом контексте.Будет прорисована только область обрезки, поэтому все остальное будет эффективно стерто.
imageView.image = UIGraphicsGetImageFromCurrentImageContext();
Теперь здесь вы просто попросите систему вернуть изображение, нарисованное в контексте (цели), который вы установили выше
Примечание: это грубое описание, вы можете взглянуть на ссылку для каждой функции, чтобы получить более подробную информацию.