android 美颜滤镜效果的实现
16lz
2021-01-26
现在基本每个app都需要实现美颜滤镜的功能,而如果自己去实现,还是有一定难度的。今天向大家介绍一个好用的第三方框架,可以帮助我们快速集成。opencamera for android
效果图
集成项目
allprojects { repositories { ... maven { url 'https://www.jitpack.io' } }}dependencies { implementation 'com.github.moo611:OpenCamera:1.0.3'}//注意添加java8支持!!!android{... compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 }}
添加权限
<com.atech.glcamera.views.GLCameraView app:layout_constraintTop_toTopOf="parent" android:id="@+id/glcamera" android:layout_width="match_parent" android:layout_height="match_parent" />
添加滤镜
private List<FilterFactory.FilterType>filters = new ArrayList<>(); ... filters.add(FilterFactory.FilterType.Original); filters.add(FilterFactory.FilterType.Sunrise); filters.add(FilterFactory.FilterType.Sunset); filters.add(FilterFactory.FilterType.BlackWhite); filters.add(FilterFactory.FilterType.WhiteCat); filters.add(FilterFactory.FilterType.BlackCat); filters.add(FilterFactory.FilterType.SkinWhiten);
切换滤镜
mCameraView.updateFilter(filters.get(pos));
切换镜头
mCameraView.switchCamera();
拍照
mCameraView.takePicture(new FilteredBitmapCallback() { @Override public void onData(Bitmap bitmap) { ... } });
设置输出mp4文件
mCameraView.setOuputMP4File(your file);
录制视频
private boolean mRecordingEnabled = false; // 录制状态 ... mRecordingEnabled = !mRecordingEnabled; mCameraView.changeRecordingState(mRecordingEnabled);
设置mp4录制完成回调
mCameraView.setrecordFinishedListnener(new FileCallback() { @Override public void onData(File file) { //update the gallery sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file))); } });
这样,很轻松就实现了美颜,滤镜以及录制小视频的功能。至于UI界面自己和录制时间,完全由自己来定,非常的方便。如果喜欢的话,希望给这个项目点个赞,让更多的人看到。
更多相关文章
- android 视频录制 例子源码
- Android(安卓)录制音频示例
- Android仿微信小视频录制功能(二)
- Android(安卓)OpenGL ES 从入门到精通系统性学习教程
- Android(安卓)Studio录制手机屏幕并制作GIF演示动画
- Android(安卓)Mp3格式录音,含有暂停,计时功能
- android mpeg2ts 流媒体打包MediaMuxer 和 录制MPEG2TSWriter 以
- Android:修图技术之滤镜效果实现及原理分析——ColorMatrix
- 老罗将死,或者Android也将就换代,但是互联网的,共享,互助精神将永存