iOS 图片裁剪 缩放

首先添加 <CoreImage/CoreImage.h>


int origImageW  = 300;

int newImageW = 120;

//裁剪

NSURL * url                = [NSURL fileURLWithPath:imagePath];

                CIImage * currImage = [CIImage imageWithContentsOfURL:url];

                CGSize sz                   = [currImage extent].size;

                CGRect cropRect        = CGRectMake((sz.width - origImageW)/2.0, (sz.height - origImageW)/2.0origImageWorigImageW);

                CIImage * cropImage = [currImage imageByCroppingToRect:cropRect];

                

//缩放,矩阵可以实现旋转、拉伸等功能

                CIFilter * filter = [CIFilter filterWithName:@"CIAffineTransform"];

                [filter setValue:cropImage forKeyPath:kCIInputImageKey];

                CGAffineTransform  affineTf = CGAffineTransformScale(CGAffineTransformIdentity, newImageW/origImageWnewImageW/origImageW);

                [filter setValue:[NSValue valueWithCGAffineTransform:affineTf] forKeyPath:@"inputTransform"];

                CIImage * newImage = [filter valueForKeyPath:kCIOutputImageKey];

                

                NSLog(@"%@",NSStringFromCGRect([newImage extent]));

                

//生成新的UIImage

                CIContext * context                = [CIContext contextWithOptions:nil];

                CGImageRef cgImg               = [context createCGImage:newImage fromRect:CGRectMake(00newImageWnewImageW)];

                UIImage * targetCropImage = [UIImage imageWithCGImage:cgImg];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值