怎么用CIFilter给图片加上各种各样的滤镜_2
上一篇讲了怎么找到能用的的滤镜和大概怎么去寻找。。。
这里接着说如何详细地给图片加滤镜效果。。前的准备工作。。。
。
1. 在找到想用的滤镜名字之后。须要知道这个滤镜究竟须要什么參数。
。
例如以下图
这里打印出来的,就是当前的滤镜的所有參数。
。
。例如以下图
而在CIAttributeFilterName以下的參数,就是须要设置的属性。。
。这里就是inputColor、inputImage、inputIntensity这3个
当中CIAttributeClass表明这个属性须要的是什么类型的值。
设置属性的方法例如以下:
通过使用setValue forKey的方法来设置属性。。。这个key就是k+属性名+Key
在属性设置完之后,就能够输出了!。
。这里直接用CIColorMonochrome这个滤镜来做演示。。
- (UIImage *)imageFilter:(UIImage *)photo Value:(float)value
{
CIContext *context = [CIContext contextWithOptions:nil]; // 1
CIImage *image = [[CIImage alloc] initWithImage:photo]; // 2 CIFilter *filter = [CIFilter filterWithName:@"CIColorMonochrome"]; // 3 NSLog(@"%@", [filter attributes]); [filter setValue:image forKey:kCIInputImageKey];
[filter setValue:[CIColor colorWithRed:100/255 green:0.4 blue:1] forKey:kCIInputColorKey]; CIImage *result = [filter valueForKey:kCIOutputImageKey]; // 4
CGRect extent = [result extent];
CGImageRef cgImage = [context createCGImage:result fromRect:extent];// 5 return [UIImage imageWithCGImage:cgImage];
}
到这为止。。
。return的UIImage就是叠加上滤镜的图片了。
怎么用CIFilter给图片加上各种各样的滤镜_2的更多相关文章
- 怎么用CIFilter给图片加上各种各样的滤镜_1
近期在做对图像处理的app,而要对图像进行处理,CoreImage是离不开的框架. 上网Google了一下,大部分的博客都是仅仅讲了怎么给图像加上怀旧(CISepiaTone).模糊(CIBloom) ...
- ASP.NET为图片加上水印
为我们发布的图片加上一个水印,也是我们经常要做的事情,那怎么样来做呢,下面就一步步开始吧 首先是一个制作水印的类:ImageHandler,代码如下: using System; using Syst ...
- CSS渐变字体、镂空字体、input框提示信息颜色、给图片加上内阴影、3/4圆
1.渐变字体 主要是看:-webkit-background-clip: text; 该属性 <style> .b1{ width: 500px; height: 200px; font- ...
- PHP给图片加上图片水印和文字水印实例
下面给大家分享一下PHP给图片加上图片水印和文字水印实例,这也是网站经常用到的功能,把代码加上去,调用就很简单了. 核心代码: function imageWaterMark($groundImage ...
- 如何在github中插入图片,链接,图片链接(给图片加上链接),文字+图片链接,的实战分享!
如何在github中插入图片,链接,图片链接(给图片加上链接),文字+图片链接,的实战分享! markdown 1.文字链接: [link-Text](link-URL) [home](https:/ ...
- 为CKEDITOR内容中图片加上 图片服务器路径
做网站的时候,前台和后台是分开的, 用了CKEDITOR上传图片,但是发现内容带图片的时候,前台Web浏览的时候是一个红X,一看路径不对,上传的到数据库中的是相对的虚拟路径,例如:<img al ...
- OC 使用CIFilter添加图片
+(UIImage *)createInviteImgWithUserCodeStr:(NSString *)userCode{ userCode = [NSString stringWithForm ...
- Dedecms 图片加上Alt或Title等属性写法
代码如下:$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename']; SetSysEnv($this-&g ...
- 【项目】用CIFilter得到图片没办法保存到沙盒里面,显示是CGImage为空
错误代码: if (iOS9) { CGImageRef cgImage = [[CIContext new] createCGImage:outputImage fromRect:outputIma ...
随机推荐
- React之浅拷贝与深拷贝
最近发现的一个bug让我从react框架角度重新复习了一遍浅拷贝与深拷贝. 浅拷贝,就是两个变量都是指向一个地址,改变了一个变量,那另一个变量也随之改变.这就是浅拷贝带来的副作用,两个变量会相互影响到 ...
- Android自定义View探索—生命周期
Activity代码: public class FiveActivity extends AppCompatActivity { private MyView myView; @Override p ...
- Android中的color使用
1.系统颜色 android内置的颜色,比如系统资源中定义的颜色,有以下几个:BLACK(黑色),BLUE(蓝色),CYAN(青色),GRAY(灰色),GREEN(绿色),RED(红色),WRITE( ...
- 【Java】数组使用
package aaa; public class aaa { public static void main(String args[]) { int a[]={1,2,3,4}; for(int ...
- 手动搭建 redis 集群
转自http://meia.fun/article/1544161420745 手动搭建 redis 集群 redis 基本命令: 启动 redis 服务:redis-server xxx.conf ...
- error MSB3552: Resource file "**/*.resx" cannot be found. [/ConsoleApp1.csproj]
问题场景: 练习在docker下操作netcore,镜像为centos7,安装完netcore sdk 2.2后,执行操作: dotnet new consoledotnet run 出现报错: /u ...
- [转载]Cool, Tomcat is able to handle more than 13,000 concurrent connections
Last time I have promised you to take a look at more real life scenario regarding threads. In the la ...
- java笔记--线程的插队行为
对线程的插队行为的理解 在编写多线程时,会遇到让一个线程优先于其他线程运行的情况, 此时除了可以设置其优先级高于其他线程外,更直接的方式是使用Thread类的join()方法 --如果朋友您想转载本文 ...
- 选中复选框,才能在文本框中输东西。button按钮已启用,
- 一些centos 6和centos 7的区别
CentOS 6(OLE 6,RHEL 6类似) CcnetOS 7(OLE 7,RHEL 7类似) 影响 默认文件系统 ext4 xfs 大量小文件在ext4上工作性能较好在64位linux中, ...