iOS 简单滤镜】的更多相关文章

转自:http://blog.csdn.net/lovechris00/article/details/51496458 1.主要是运用 ImageUtil库,把原图通过矩阵色值设置层不同滤镜效果下的图片 2.页面整体布局:上UIImageView,下UICollectionView结合 3.保存到相册:  UIImageWriteToSavedPhotosAlbum(self.icon.image, self, @selector(imageSavedToPhotosAlbum:didFini…
iOS 简单工厂模式 什么是简单工厂模式? 简单工厂模式中定义一个抽象类,抽象类中声明公共的特征及属性,抽象子类继承自抽象类,去实现具体的操作.工厂类根据外界需求,在工厂类中创建对应的抽象子类实例并传给外界,而对象的创建是由外界决定的.外界只需要知道抽象子类对应的参数即可,而不需要知道抽象子类的创建过程,在外界使用时甚至不用引入抽象子类. 简单工厂模式将操作对象的创建,和关于操作对象相关的业务逻辑分离开,降低操作对象的耦合度.由于工厂类只是为外界创建对象,所以并不需要实例化工厂类对象,只需要为外…
今天来学习一下一个简单滤镜使用的流程,通过调节亮度滤镜来了解.先将GPUImage库导入到项目中,引入头文件"GPUImage.h"   一.创建亮度滤镜对象    GPUImageBrightnessFilter *filter = [[GPUImageBrightnessFilter alloc] init],经过alloc init之后,程序为我们创建了顶点数组以及帧缓冲区,纹理,并绑定为当前使用的对象. 1.为顶点着色添加属性 首先我们来看一该滤镜的顶点着色器字符串 attri…
代码地址如下:http://www.demodashi.com/demo/11607.html 前言 现在很多APP在用户第一次用的时候,由于用户可能并不知道其中一些功能点的时候,这个时候就需要我们来对用户做一些引导工作.于是这个功能引导界面就应运而生了,先来看看大概效果吧,我这只是很简单的做了一个demo 走,上图 分析 1 图中高亮的圆圈部分怎么做呢? 2 怎么让我们能很轻易的把圆圈加到我们想要的地方上去呢? 解决办法 1 可以让UI做几套图,直接加载上面,但是这样要加许多图片,而且要是以后…
在ffmpeg的滤镜中,有简单滤镜(simple filter)和复杂滤镜(complex filter)两种. 使用简单滤镜时,用-vf选项,使用复杂滤镜时,使用-filter_complex或-lavfi. 那么什么时候用简单滤镜,什么时候用复杂滤镜? 其实很简单:是否只有一个输入文件和一个输出文件,如果是,用简单滤镜,否,则应该用复杂滤镜 执行一个命令试试 ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -lavfi "ov…
这里直接引用官方描述: The GPUImage framework is a BSD-licensed iOS library that lets you apply GPU-accelerated filters and other effects to images, live camera video, and movies. In comparison to Core Image (part of ios 5.0), GPUImage allows you to write your…
最近工作之余在做一个美图秀秀的仿品 做到滤镜这块的时候  自己就参考了网上几位博主(名字忘了记,非常抱歉)的博客,但是发现跟着他们的demo做的滤镜处理,都会有很严重的内存泄漏,于是就自己按照大体的思路将代码重新整理了下,并解决了内存泄漏问题.  大体思路如下: 根据图片创建一个CoreGraphic的图形上文->根据图形上下文获取图片每个像素的RGBA的色值数组->遍历数组,按照颜色矩阵进行像素色值调整->输出绘制新的图片  具体流程如下: 首先创建一个RGBA通道位图上下文:注意在以…
iOS开发之滤镜的使用技巧(CoreImage)   一.滤镜的内容和效果是比较多并且复杂的 ,学习滤镜需要技巧 如下: 两个输出语句解决滤镜的属性选择问题: 1.查询效果分类中包含什么效果按住command 点击CIFilter 进入接口文件 找到第128行-148行全部都是 效果分类 2.选择其中某一个分类拷贝NSLog -> [CIFilter filterNamesInCategory:刚才拷贝的分类]; -> 打印出来的 是这个分类包含的所有效果 -> 拷贝选择其中的某一个效果…
最近遇到ios上文件读写操作的有关知识,记录下来,以便以后查阅,同时分享与大家. 一,简单介绍一下常用的plist文件. 全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plist ,因此通常被称为 plist文件.文件是xml格式的.Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息 二,先说文件保存到的几个位置: 1,工程沙盒里(就是程序user Document文件夹下,以读取文件,写入文件方式) 2,工程自身里(就…
如果你对于什么是Cordova还不了解,可以先移步到我另一个文章:Cordoval在iOS中的运用整理 里面有详细的介绍跟如何搭建Cordova:而本文则是要介绍JiaCordova插件,如果你有一点Cordova就可以快速集成到项目中: 一:JiaCordova介绍 JiaCordova是为了让项目对于Cordova引入更加方便快捷的一个封装式插件,插件中已经集成的关于Cordova跟其一些常用的第三库,对于Cordova的配置模板也进行整理,且封装从服务端下载ZIP包进行解压到沙盒文件夹中,…
GPUImage中,提供了许多简单的的常用的滤镜.在上一篇文章讲了如何调节图像的亮度这片文章讲一下如何通过GPUImage调节图像的对比度,饱和度,曝光度,和白平衡(美图秀秀中的色温). 原图像 调整图像的对比度 GPUImageContrastFilter类提供了此功能.该类中有一个属性contrast,我们可以通过修改此属性值(最大值4.0,最小值0.0,正常值1.0)来达到修改图像对比度的目的,使用方法: GPUImageContrastFilter *filter = [[GPUImag…
iOS 获取当前地理坐标        iOS获取当前地理坐标,很简单几句代码,但是如果刚开始不懂,做起来也会也会出现一些问题. 1.导入定位需要用到的库:CoreLocation.framwork .如果要显示地图,就要导入 MapKit.framwork . 2.在info.plist里加入两行 NSLocationWhenInUseUsageDescription  当应用需要时候定位 NSLocationAlwaysUsageDescription   始终使用地位(这行如果不加,那么启…
iOS精选源码 iOS快速入手语音识别.听写.评测.播报 网络加载数据的过渡动画(仿简书网页) iOS 封装跑马灯和轮播效果 crash防护组件,适用常见常用的数组,字典等crash保护 iOS:高仿闲鱼.京东等列表底部分页视图 React-Native 完整项目,同时支持IOS和安卓 功能丰富的WKWebView 简单音乐功能实现 下拉框,可自动识别向上向下展开 iOS优质博客 iOS关于时间的处理 做App避免不了要和时间打交道,关于时间的处理,里面有不少门道,远不是一行API调用,获取当前…
知识架构 CALayer 图层类 CABasicAnimation 基础动画 CAKeyFrameAnimation 帧动画 CATransition 转场动画 CAAnimationGroup 动画组 layer的基本概念 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(CALyer对象),通过UIView的layer属性可以访问这个层. 基本属性  Bounds;position;frame;background…
Android 上使用Opengl进行滤镜渲染效率较高,比起单纯的使用CPU给用户带来的体验会好很多.滤镜的对象是图片,图片是以Bitmap的形式表示,Opengl不能直接处理Bitmap,在Android上一般是通过GLSurfaceView来进行渲染的,也可以说成Android需要借助GLSurfaceView来完成对图片的渲染. GlSurfaceView 的图片来源依然是Bitmap,但是Bitmap需要以纹理(Texture)的形式载入到Opengl中.因此我首先来看一下载入纹理的步骤…
如图搭建一个音乐播放器界面,具备以下几个简单功能: 1,界面协调,整洁. 2,点击播放,控制进度条. 3.三收藏歌曲,点击收藏,心形收藏标志颜色加深. 4,左右按钮,切换歌曲图片和标题. 5,点击中间图片,隐藏所有按钮,仅显示蓝色背景. 设计的整体思路: 1.在搭建界面的时候,为了整洁和方便后续的功能的添加,需要将整个的界面划分为几个部分: ①:最上面的一行包括:一个返回按钮.一个歌曲名称.一个收藏按钮: ②:第二行:一个slider控件.两侧是当前的歌曲播放进度和歌曲的总时长--两个lable…
首尾式动画 首尾式动画即通过实现控件由初始状态到结束状态的过程.(主要表现在控件的Frame 透明度 ) // // ViewController.m // CX 简单动画 // // Created by ma c on 16/3/25. // Copyright © 2016年 xubaoaichiyu. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @imp…
// 数组用系统方法compare做字母的简单排序 NSArray *oldArray = @[@"bac",@"bzd",@"azc",@"azz"]; NSArray *newArray = [oldArray sortedArrayUsingSelector:@selector(compare:)]; NSLog(@"new array = %@",newArray); // 因为NSDictiona…
在iOS 开发中,使用平移动画的频率越来越高,给人的感觉就是很炫酷很流畅,起到增强用户体验的作用.在APP开发中实现动画效果有很多种方式,但我目前是使用较多的是平移动画,顺便也在此做一些小小的总结,大神可以忽略.比如说:点击一个 button 从 Controller 界面出来一个tableview ,或者是点击 TableViewCell 从旁边弹出来一个view. 其实UIView动画实质上是对CoreAnimation的封装,提供简洁的动画接口,我们只需要设置好起始坐标和结束坐标即可,至于…
通过这种方格图片实现滤镜 代码: "CIFilter+ColorLUT.h" "CIFilter+ColorLUT.m" #import "CIFilter+ColorLUT.h" #import <CoreImage/CoreImage.h> #import <OpenGLES/EAGL.h> @implementation CIFilter (ColorLUT) + (CIFilter *)colorCubeWithC…
先上效果图 设计要求 1.画笔能设置大小.颜色 2.有清屏.撤销.橡皮擦.导入照片功能 3.能将绘好的画面保存到相册 实现思路 1.画笔的实现,我们可以通过监听用户的 平移手势 中创建 UIBezierPath 来实现线条的绘制 2.撤销功能,我们先来看下撤销功能,我们会想到用一个数组队列将用户的每一次的笔画都加入到数组中,然后撤销的时候只需要将最后添加进去的笔画pop掉,重新绘制就可以了 3.清屏功能就简单了,只需要将上面说到的那个数组清空重新绘制下就可以了 4.导入照片功能,可以用系统的 U…
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // 滤镜效果 NSArray *operations = @[@"CILinearToSRGBToneCurve", @"CIPhotoEffectChrome", @"CIPhotoEffectFade", @&q…
一.扫码 扫描的控件是一个view,使用者只需贴在自己的控制器内即可.其他UI用户可在自己控制器随便添加.代码如下 - (void)viewDidLoad { [super viewDidLoad]; //扫描有效区(即框内透明区域) CGRect interestRect = CGRectMake(, (self.view.frame.size.height - (self.view.frame.size.width - ))/, self.view.frame.size.width - );…
本文转载至 http://www.cnblogs.com/flychen/archive/2012/09/18/2690264.html 前几个星期项目中的音乐列表左边要添加阴影,做成平滑的效果.如图: 用了个很简单的渐变实现: 代码如下: 1 - (CAGradientLayer *)shadowOfMusic:(float)frameHeight 2 { 3 CAGradientLayer *newShadow = [[[CAGradientLayer alloc] init] autore…
iOS8之后有一个类 UIVisualEffectView // 毛玻璃 UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(, , WIDTH, HEIGHT)]; img.userInteractionEnabled = YES; img.image = [UIImage imageNamed:@"effect"]; [self.view addSubview:img]; // UIBlurEffectS…
首先自己写个请求数据的类 首先.h文件 #import <Foundation/Foundation.h> @interface Downloaders : NSObject<NSURLConnectionDataDelegate> @property (nonatomic, assign) long long beginpt;//下载的起始点 @property (nonatomic, assign) long long endpt;//下载的终点 @property(nonat…
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"旭宝爱吃鱼"); UIImageView * imageView = [[UIImageView alloc]init]; NSMutableArray * animationArray = [NSMutableArray array]; ; i < ; i ++) { [animationArray…
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ UIView * view = [[UIView alloc]initWithFrame:CGRectMake(, , , )]; view.backgroundColor = [UIColor orangeColor]; view.alpha = ; [self.view addSubview:view]; //动画持续时间为五秒 [UIV…
#define kDegreesToRadian(x) (M_PI * (x) / 180.0) #define kRadianToDegrees(radian) (radian*180.0)/(M_PI) - (void)viewDidLoad { [superviewDidLoad]; self.title = @"测试动画"; self.view.backgroundColor = [UIColor lightGrayColor]; myTest1 = [[UILabel all…
+(void)showMessage:(NSString *)message{    UIWindow * window = [UIApplication sharedApplication].keyWindow;    UIView *showview =  [[UIView alloc]init];    showview.backgroundColor = [UIColor blackColor];    showview.frame = CGRectMake(1, 1, 1, 1);  …