iOS开发 图片缩小 裁剪 虚化
来源:互联网 发布:新网域名转到万网 编辑:程序博客网 时间:2024/05/07 09:58
//缩小
/*CGRect rect = CGRectMake(0,0,20,20);//创建矩形框
UIGraphicsBeginImageContext(rect.size);//根据size大小创建一个基于位图的图形上下文
CGContextRef currentContext = UIGraphicsGetCurrentContext();//获取当前quartz 2d绘图环境
CGContextClipToRect(currentContext, rect);//设置当前绘图环境到矩形框
[image drawInRect:rect];
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();//获得图片
UIGraphicsEndImageContext();//从当前堆栈中删除quartz 2d绘图环境*/
// _background.image = scaledImage;
//虚化
/*CIContext *context = [CIContext contextWithOptions:nil];
CIImage *inputImage = [CIImage imageWithCGImage:scaledImage.CGImage];
CIFilter *affineClampFilter = [CIFilter filterWithName:@"CIAffineClamp"];
CGAffineTransform xform = CGAffineTransformMakeScale(1.0, 1.0);
[affineClampFilter setValue:inputImage forKey:kCIInputImageKey];
[affineClampFilter setValue:[NSValue valueWithBytes:&xform objCType:@encode(CGAffineTransform)] forKey:@"inputTransform"];
CIImage *extendedImage = [affineClampFilter valueForKey:kCIOutputImageKey];//此处内存泄漏
CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[blurFilter setValue:extendedImage forKey:kCIInputImageKey];
[blurFilter setValue:[NSNumber numberWithFloat:0.8f] forKey:@"inputRadius"];
CIImage *result = [blurFilter valueForKey:kCIOutputImageKey];
CGImageRef cgImage = [context createCGImage:result fromRect:[inputImage extent]];
UIImage *returnImage = [UIImage imageWithCGImage:cgImage];
CGImageRelease(cgImage);*/
/*CGRect rect = CGRectMake(0,0,20,20);//创建矩形框
UIGraphicsBeginImageContext(rect.size);//根据size大小创建一个基于位图的图形上下文
CGContextRef currentContext = UIGraphicsGetCurrentContext();//获取当前quartz 2d绘图环境
CGContextClipToRect(currentContext, rect);//设置当前绘图环境到矩形框
[image drawInRect:rect];
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();//获得图片
UIGraphicsEndImageContext();//从当前堆栈中删除quartz 2d绘图环境*/
// _background.image = scaledImage;
//裁剪
方式1
CGRect rectMAX = CGRectMake(SCREEN_WIDTH/3, SCREEN_HEIGHT/3, SCREEN_WIDTH/3, SCREEN_HEIGHT/3);
CGImageRef subImageRef = CGImageCreateWithImageInRect(backgroundImage.CGImage, rectMAX);
UIGraphicsBeginImageContext(rectMAX.size);
CGContextRef context1 = UIGraphicsGetCurrentContext();
CGContextDrawImage(context1, rectMAX, subImageRef);
UIImage *viewImage = [UIImage imageWithCGImage:subImageRef];
UIGraphicsEndImageContext();
CGImageRelease(subImageRef);
方式2
UIImage*image=[UIImage imageNamed:@"1.jpg"];
CGRect rect= CGRectMake(60, 80, 331, 353);//创建矩形框
UIImageView*contentView = [[UIImageView alloc]initWithFrame:rect];
contentView.image=[UIImageimageWithCGImage:CGImageCreateWithImageInRect([image CGImage],rect)];
[self.viewaddSubview:contentView];
//虚化
/*CIContext *context = [CIContext contextWithOptions:nil];
CIImage *inputImage = [CIImage imageWithCGImage:scaledImage.CGImage];
CIFilter *affineClampFilter = [CIFilter filterWithName:@"CIAffineClamp"];
CGAffineTransform xform = CGAffineTransformMakeScale(1.0, 1.0);
[affineClampFilter setValue:inputImage forKey:kCIInputImageKey];
[affineClampFilter setValue:[NSValue valueWithBytes:&xform objCType:@encode(CGAffineTransform)] forKey:@"inputTransform"];
CIImage *extendedImage = [affineClampFilter valueForKey:kCIOutputImageKey];//此处内存泄漏
CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[blurFilter setValue:extendedImage forKey:kCIInputImageKey];
[blurFilter setValue:[NSNumber numberWithFloat:0.8f] forKey:@"inputRadius"];
CIImage *result = [blurFilter valueForKey:kCIOutputImageKey];
CGImageRef cgImage = [context createCGImage:result fromRect:[inputImage extent]];
UIImage *returnImage = [UIImage imageWithCGImage:cgImage];
CGImageRelease(cgImage);*/
0 0
- iOS开发 图片缩小 裁剪 虚化
- iOS软件开发 裁剪图片
- IOS开发之——裁剪图片
- iOS开发之关于图片发裁剪
- Asp.net中裁剪,缩小图片
- ios图片放大缩小
- IOS 图片按比例缩小
- iOS开发中,点击放大、缩小图片方法举例
- iOS开发-缩小图片模糊或出现锯齿的问题
- iOS开发之制作@2x和缩小图片
- iOS开发 UI高级 图片放大缩小的实现
- iOS开发中压缩图片的质量以及缩小图片尺寸
- ios裁剪图片
- iOS 裁剪图片
- IOS 裁剪图片
- ios图片裁剪
- ios 代码裁剪图片
- IOS 裁剪图片
- Bootstrap 响应式实用工具
- 正则表达式在iOS中的运用
- 玩转Highcharts图表库系列(一) 显示多条曲线
- 揭秘-程序员的工资是否够用?
- spring源码之—Assert.notNull-断言
- iOS开发 图片缩小 裁剪 虚化
- 九度题目1206:字符串连接
- Android细节:关于startActivityForResult返回数据失效 不调用onActivityResult方法
- ubuntu启用root用户
- 文章标题
- 关于android布局的小知识
- 在编译工程时,有时会遇到类似“ld: library not found for -l…” 的错误提示
- 官村小学支教感言
- CentOS下安装配置LAMP(Linux+Apache+MySQL+PHP)