14
Przepraszamy za to pytanie, ale szukałem wielu wątków tutaj w S.O. i nic nie znalazłem.Jak przyciąć kwadrat środkowy w UIImage?
Pytanie brzmi: jak przyciąć kwadrat środkowy w UIImage?
Próbowałem kod poniżej, ale bez powodzenia. Przycinanie odbywa się, ale w lewym górnym rogu.
-(UIImage*)imageCrop:(UIImage*)original
{
UIImage *ret = nil;
// This calculates the crop area.
float originalWidth = original.size.width;
float originalHeight = original.size.height;
float edge = fminf(originalWidth, originalHeight);
float posX = (originalWidth - edge)/2.0f;
float posY = (originalHeight - edge)/2.0f;
CGRect cropSquare = CGRectMake(posX, posY,
edge, edge);
// This performs the image cropping.
CGImageRef imageRef = CGImageCreateWithImageInRect([original CGImage], cropSquare);
ret = [UIImage imageWithCGImage:imageRef
scale:original.scale
orientation:original.imageOrientation];
CGImageRelease(imageRef);
return ret;
}