iOS开发图片剪切

释放双眼,带上耳机,听听看~!

iOS 中对图片的剪切是经常用到,记录一下以防以后忘记:

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

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

    UIImage *newImage = [UIImageimageWithCGImage: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);

 

 

然后就很方便获得需要剪切的位置了。

 

人已赞赏
iOS文章

ios的类别(category)和扩展(Extension)

2020-2-6 23:04:25

iOS文章

iOS 修改tabBar的frame

2020-2-7 3:03:04

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索