IOS的图片处理

1、定制图片大小,将图片定制为kAppIconSize宽高,用于图片的页面适应缩放

UIImage *image = [[UIImage alloc] initWithData:data];


            if (image.size.width != kAppIconSize || image.size.height != kAppIconSize)

            {

                CGSize itemSize = CGSizeMake(kAppIconSize, kAppIconSize);

                UIGraphicsBeginImageContextWithOptions(itemSize, NO, 0.0f);

                CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);

                [image drawInRect:imageRect];

                self.appRecord.appIcon = UIGraphicsGetImageFromCurrentImageContext();

                UIGraphicsEndImageContext();

            }

1.创建Bitmap图形上下文的方法

方法1   UIGraphicsBeginImageContext(<#CGSize size#>);

方法2 UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale)

使用两个方法同样都可以创建,但是使用第一个方法将来创建的图片清晰度和质量没有第二种方法的好。

方法2接收三个参数:

CGSize size:指定将来创建出来的bitmap的大小

BOOL opaque:设置透明YES代表透明,NO代表不透明

CGFloat scale:代表缩放,0代表不缩放

创建出来的bitmap就对应一个UIImage对象


2、裁剪图片制定区域

//设置裁剪区域

CGRect rect = CGRectMake(recty, rectx, rectheight, rectwidth);

    CGImageRef imageRef = image.CGImage;

//裁剪

    CGImageRef subImageRef = CGImageCreateWithImageInRect(imageRef, rect);

    UIGraphicsBeginImageContext(rect.size);

    CGContextRef context1 = UIGraphicsGetCurrentContext();

    CGContextDrawImage(context1, rect, subImageRef);

    UIImage *image1 = [UIImage imageWithCGImage:subImageRef scale:1.0f orientation:UIImageOrientationRight];

    UIGraphicsEndImageContext();

    CGImageRelease(subImageRef);

3、参考链接

https://www.jianshu.com/p/4e22c6ac114d

你可能感兴趣的:(IOS的图片处理)