在UIImageView中显示之前裁剪图像

时间:2013-07-22 10:12:48

标签: ios uiimageview crop

我是我的应用程序我需要裁剪并从互联网上下载图像。我使用这种方法下载图像:

- (void) loadImageFromWeb {
    NSURL* url = [NSURL URLWithString:self.imageURL];
    NSURLRequest* request = [NSURLRequest requestWithURL:url];


    [NSURLConnection sendAsynchronousRequest:request
                                       queue:[NSOperationQueue mainQueue]
                           completionHandler:^(NSURLResponse * response,
                                               NSData * data,
                                               NSError * error) {
                               if (!error){
                                   UIImage* image = [[UIImage alloc] initWithData:data];
                                   [self.imageViewEpisode setImage:image];
                               }

                           }];
}

我如何裁剪它?

2 个答案:

答案 0 :(得分:1)

定义一个矩形,这个矩形将是图像的裁剪区域。

CGRect croprect  = CGRectMake(x,y,width, height);

CGImageRef subImage = CGImageCreateWithImageInRect (yourimage,croprect);

这里我们使用CoreGraphics从您的图像创建子图像。

Creates a bitmap image using the data contained within a subregion of an existing bitmap image.

CGImageRef CGImageCreateWithImageInRect (
   CGImageRef image,
   CGRect rect
);

Parameters

image

    The image to extract the subimage from. 
rect

    A rectangle whose coordinates specify the area to create an image from.

Return Value

A CGImage object that specifies a subimage of the image. If the rect parameter defines an area that is not in the image, returns NULL.

最后生成图片,

  

UIImage * newImage = [UIImage imageWithCGImage:subImage];

答案 1 :(得分:0)

multiple libraries可以为您做到这一点。您可以选择一个并使用它,或者研究一对并了解它是如何完成的。