博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GPUImage之裁剪篇
阅读量:6805 次
发布时间:2019-06-26

本文共 1188 字,大约阅读时间需要 3 分钟。

在录制视频或者拍照的时候,我们经常要对视频或者照片的尺寸进行裁剪.比如微信小视频.在GPUImage中,给我们了一个非常友好的滤镜.GPUImageCropFilter 可以直接剪切视频的尺寸. 首先依旧是先定义设备.滤镜.一级GPUImageView.在拍照篇里面可以找到.这里就不做重复了.唯一不同的是GPUImageCropFilter的定义 代码如下:

    filter=[[GPUImageCropFilter alloc] initWithCropRegion:CGRectMake(0, 0, 1, 1080/1920.0)];复制代码

这里的corpRegion介绍如下:

// The crop region is the rectangle within the image to crop. It is normalized to a coordinate space from 0.0 to 1.0, with 0.0, 0.0 being the upper left corner of the image复制代码

所以可以看到,长和宽都是0.0到1.0;所以我们要用设备捕捉到的长和宽来截取视频.x轴和y轴都可以是初始点0. 显示到屏幕上的就是将来截取出来的.

视频设置也要修改一下. 改为:

    videoSettings = [[NSMutableDictionary alloc] init];    [videoSettings setObject:AVVideoCodecH264 forKey:AVVideoCodecKey];    [videoSettings setObject:[NSNumber numberWithInteger:1080] forKey:AVVideoWidthKey];    [videoSettings setObject:[NSNumber numberWithInteger:1080] forKey:AVVideoHeightKey]; //如果修改了高度值.这里自然要修改.复制代码

GPUImageMovieWriter的size也要改.

    movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(1080, 1080) fileType:AVFileTypeQuickTimeMovie outputSettings:videoSettings];复制代码

然后录像保存什么的,和摄像篇是一样的. 至此,GPUImage差不多就完了.如果有需要.后面会继续补充.

ps:裁剪对拍照也是一样的.如果照片不像裁剪.那就更换一下滤镜.其他滤镜释放方法几乎都是一样的

转载地址:http://kknwl.baihongyu.com/

你可能感兴趣的文章
移动微社区----附手机端滑动分页源码
查看>>
《Python CookBook2》 第一章 文本 - 每次处理一个字符 && 字符和字符值之间的转换...
查看>>
invalid application of `sizeof' to incomplete type `char[] '
查看>>
Python iter() 函数
查看>>
从架构理解价值-我的软件世界观(转载)
查看>>
checkBox的检验和获取
查看>>
SQL编程之高级查询(子查询)以及注意事项
查看>>
图表,列表在同一DIV里切换显示()
查看>>
隐藏手机号操作
查看>>
VS2008:Failed to return new Code Element
查看>>
wnds更新为1.0
查看>>
Linux下安装JDK
查看>>
【转】LINUX文件系统剖析
查看>>
仿射变换
查看>>
求用32位 int 能表示的最大 n! 的值
查看>>
hdu 1081 To The Max
查看>>
callback-hell 回调地狱
查看>>
哈希哈希(字符串哈希与树哈希)
查看>>
在node.js中使用mongose模块
查看>>
winform - BackgroundWorker
查看>>