您的位置:首页 > 移动开发 > IOS开发

iOS 图片剪切

2016-05-26 22:47 387 查看
iOS 中对图片的剪切是经常用到,记录一下以防以后忘记:

- (UIImage *) cutImage:(UIImage *)image  WithRect:(CGRect )rect {

    CGImageRef imageRef =
CGImageCreateWithImageInRect(image.CGImage, rect); 
//获得图片指定部分的像素位图

    UIImage *newImage = [UIImage
imageWithCGImage:imageRef];

    CGImageRelease(imageRef); 
//记得释放,否则内存泄露

    

    return newImage;

}

参数注释:

image:待剪切的图片 rect:剪切图片的哪一部分,返回的图片就是剪切所得的图片。

需要注释的是rect:是像素单位,而uiimage 的size是苹果的点为单位,在retina设备上它们是不同的,比如在iphone 6s和iphone 6p,同一张图片,用像素表示的宽度是用uiimage的size.width表示的3倍,其他的设备是两倍。幸好苹果提供了通过点单位转换为像素单位的api:

CGFloat fixelW = CGImageGetWidth(image.CGImage);

CGFloat fixelH = CGImageGetHeight(image.CGImage);

然后就很方便获得需要剪切的位置了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: