-
Notifications
You must be signed in to change notification settings - Fork 53
scrawl
zanxiaofei edited this page Oct 30, 2017
·
3 revisions
短视频1.5.3版本后支持涂鸦功能,涂鸦功能区分为:
- 录制时涂鸦
- 编辑时涂鸦
录制的涂鸦方案采取讲涂鸦绘制的View叠加到视频上来实现,同金山云画笔推流的方案,详细移步画笔推流
编辑合成的涂鸦方案,也是将涂鸦后的View叠加到视频上来实现
编辑涂鸦不能记录涂鸦轨迹,只能将涂鸦后的成品叠加到合成后的视频上
- 创建所需叠加的View放在预览View之上.
Demo中使用了一个第三方封装好的PaintView来实现手绘功能
- 将View设置给SDK即可
mEditKit.addPaintView(mPaintView);
- 在gradle中添加依赖
compile 'com.lht:paintview:1.17'
- 添加PaintView控件到预览View之上
<com.lht.paintview.PaintView
android:id="@+id/edit_paint_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"/>
- 启动或者停止绘制
根据App的需求,在合适的时候允许绘制,比如在Demo中切换到涂鸦的功能项时才会允许绘制,否则不允许绘制并保留之前绘制的内容在view之上
//true,可以在View之上绘制,false不可以在View之上绘制
mPaintView.setPaintEnable(false);
- 设置绘制参数
mPainView.setBgColor(Color.TRANSPARENT); //设置绘制背景色为透明
mPainView.setStrokeWidth(mCurrentSize); //设置画笔宽度
mPainView.setGestureEnable(false); //设置是否允许识别手势
mPainView.setColor(mCurrentColor); //设置画笔颜色
- 清楚所有绘制内容
mPainView.clear();
- 清楚上一次绘制内容
mPainView.undo();