如何在CALayer设置滤镜
网上有很多关于CALayer中设置filtes属性的相关资料比如如何设置一个带滤镜的layer,代码如下;
NSImage* image = [NSImage imageNamed:@"IMG_4062.jpg"];
CALayer* layer = [CALayer layer];
layer.frame = m_myView.bounds;
layer.contents = (id)[image CGImageForProposedRect:nil context:nil hints:nil];
CIFilter* filter = [CIFilter filterWithName:@"CIGaussianBlur"];
[filter setDefaults];
[filter setValue:[NSNumber numberWithFloat:100.0] forKey:@"inputRadius"];
layer.filters = @[filter];
[m_myView.layer addSublayer:layer];
可是虽然加上滤镜的图层,运行程序你还是不能再m_myView上面看到滤镜的效果;为此我找了很多博客、文章都没有能找出答案,这个问题困扰了我两天才找出答案;
原来原因尽然如此的简单:光设置图层的filtes属性是不能够看到滤镜效果的,你还需设置Layer添加的view的LayerUsesCoreImageFitlers属性为YES;
上面的代码你需要在外面添加一句: [m_myView setLayerUsesCoreImageFilters:YES];
原图:
在layer上设置过以上滤镜后的效果图:
希望上面我的经验能够帮到一些朋友,少走些弯路,也不枉我这两天的时间了。
如何在CALayer设置滤镜的更多相关文章
- 如何在linux设置回收站
修改用户的环境变量 vi ~/.bashrc 注释第5行的别名 #alias rm='rm -i' 最后一行添加如下内容 mkdir -p ~/.trash alias rm=trash alias ...
- 如何在linux设置回收站 - 防止失误操作造成数据清空
linux rm命令是即刻删除的,而且挺多人喜欢加上-f强制命令,更暴力的是删除文件夹直接 rm -rf ,这样子代表你执行完后,就完全被干掉了. 还是推荐在linux下设置回收站,写一个shell脚 ...
- 如何在Pycharm设置ES6语法环境
首先 如果不进行相关设置就刚ES6 语法的话,会出现下面提示性错误(运行还是能正常出效果的): (let 飘红, 这只是其中之一, 其他语法也会飘红) 接着,就是解决问题: 首先打开设置: 接着找到下 ...
- Vue如何在webpack设置代理解决跨域问题
在开发过程中我们请求数据有时候调用的是第三方接口,此时便会遇到一个问题:跨域限制.对于跨域问题的解释就不详细叙述了,要了解的请自行百度.一般跨域问题控制台会报这个错: ...
- 如何在IE8设置透明背景
background:rgba(0,0,0,0.5);filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7F00000 ...
- FFmpeg滤镜实现区域视频增强 及 D3D实现视频播放区的拉大缩小
1.区域视频增强 FFmpeg滤镜功能十分强大,用滤镜可以实现视频的区域增强功能. 用eq滤镜就可以实现亮度.对比度.饱和度等的常用视频增强功能. 推荐两篇写得不错的博文: (1)ffmpeg综合应用 ...
- CSS3魔法堂:CSS3滤镜及Canvas、SVG和IE滤镜替代方案详解
一.前言 IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后与Chrome合作推出CSS3的Filter特性,因此当前仅Webkit内核的浏览器支持CSS3 F ...
- IE滤镜及其使用技巧
Gradient Filter和AlphaImageLoader Filter 这两个属性是legend IE(IE6,7,8)中的渐变滤镜和透明滤镜,我们先详细介绍下这两个属性的用法,详情 可查看M ...
- CSS3魔法堂:CSS3滤镜及Canvas、SVG和IE滤镜替代方案详解[转]
一.前言 IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后与Chrome合作推出CSS3的Filter特性,因此当前仅Webkit内核的浏览器支持CSS3 F ...
随机推荐
- 重构第14天 分离职责(Break Responsibilities)
理解:面向对象的五大特征: SOLID,其中S就是职责单一原则.分离职责指当一个类有许多职责时,将部分职责分离到独立的类中,这样也符合面向对象的五大特征之一的单一职责原则,同时也可以使代码的结构更加清 ...
- 轻量级的移动 webapp 框架Jingle
一大早爬起来,发现这样的一个东东,国产,感觉实用性很强,试着用用. 1.28补记: 试着用jingle做了一个网站的移动版,感觉如果在布局上要求不高的话 - 目前支持的布局只有list,还是挺不错,做 ...
- 模拟---LCR
HDU 2778 Description LCR is a simple game for three or more players. Each player starts with three ...
- [moka同学笔记]yii2.0数据库操作以及分页
1.model中models/article.php 1 <?php 2 3 namespace app\models; 4 5 use Yii; 6 7 /** 8 * This is the ...
- ahjesus ubuntu10.4安装ruby2.1.1
sudo apt-get install python-software-properties sudo apt-add-repository ppa:brightbox/ruby-ng sudo a ...
- XStream的例子
写个小例子,方便以后复习: 1 package com.demo; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 impor ...
- jquery常用选择器
1.数字性过滤 $("tr:first") //选择所有tr元素的第一个 $("tr:last") / ...
- js验证真实姓名与身份证号,手机号
最近的项目中用的需要调用实名认证的接口,实名认证接口价格相比短信而言高了不是几分钱,所以说调用实名认证的条件就要严格把关,因此用到js验证真实姓名与js验证身份证号. 进入正题 1.js验证真实姓名 ...
- Configure SSL for SharePoint 2013
http://blogs.msdn.com/b/fabdulwahab/archive/2013/01/21/configure-ssl-for-sharepoint-2013.aspx In thi ...
- Unable to start activity ComponentInfo{com.first/com.first.Game}
原因一: xxx的错误,若为R.layout.main 那么应该是main.xml文件中的标签 使用错误,最常见的而且编译器不会提示的错误就是 android:name 和android:id 两者 ...