如上图,接口中的图片为长方形,实际则需要显示为正方形,就需要剪裁返回的数据中的上边部分
//显示图片的上半部分
// NSURL *url = [NSURL URLWithString:@""];
// UIImage *myimage = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]];
UIImage *myimage = [UIImage imageNamed:@"actor"];
//由于返回的图片较大,所以先将图片压缩,再剪裁
NSData *data = nil;
if (!UIImagePNGRepresentation(myimage)) {
data = UIImageJPEGRepresentation(myimage,0.1);
} else {
data = UIImagePNGRepresentation(myimage);
}
myimage = [UIImage imageWithData:data];
//首先,获取想要显示的部分的大小及位置
CGSize imgSize = myimage.size;
CGRect rect = CGRectMake(0, 0, imgSize.width, imgSize.width);
//然后,将此部分从图片中剪切出来
CGImageRef imageRef = CGImageCreateWithImageInRect([myimage CGImage], rect);
UIImage *image1 = [UIImage imageWithCGImage:imageRef];
//最后,将剪切下来图片放入UIImageView中
[self.headImg setImage:image1];