Fix the problem: trim the upper and lower portions of the picture according to a certain length and width ratio, preserving the contents of the middle. Of course, you can also customize the areas you want to trim.
premise: You need to add Framework:CoreGraphics.framework
Code:
-(uiimage*) crop: (uiimage*) theimage{ //Get size of current image cgsize size = [theimage size]; Create rectangle that represents a cropped image cgfloat desiredratio = 1.2; CGFloat croppedwidth = 0.0; CGFloat croppedheight = 0.0; CGRect rect; if (size.height/size.width >= desiredratio) { croppedwidth = size.width; Croppedheight = Size.width * desiredratio; CGFloat difference = (size.height-croppedheight)/2; Rect = CGRectMake (0.0, difference, croppedwidth, croppedheight); } else{ return theimage; } Create bitmap image from original image data, //using rectangle to specify desired crop area cgimageref imag Eref = Cgimagecreatewithimageinrect ([theimage cgimage], rect); UIImage *croppedimage = [UIImage imagewithcgimage:imageref]; Cgimagerelease (imageref); return croppedimage;}
Reference: Online resources, links have been lost