DrawBoard 是一个自定义 View 实现的画板;方便对图片进行各种编辑或涂鸦相关操作
Posted Wei_Leng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DrawBoard 是一个自定义 View 实现的画板;方便对图片进行各种编辑或涂鸦相关操作相关的知识,希望对你有一定的参考价值。
DrawBoard
项目地址:jenly1314/DrawBoard 简介: :art: DrawBoard 是一个自定义 View 实现的画板;方便对图片进行各种编辑或涂鸦相关操作 更多:作者 提 Bug 标签:
DrawBoard 是一个自定义 View 实现的画板;方便对图片进行各种编辑或涂鸦相关操作。
- 主要支持的一些操作:撤销、恢复、清空、缩放
- 主要支持的绘制模式:画路径、画点、画直线、画矩形、画椭圆、画圆、画文字、画图片、橡皮擦
Gif 展示
你也可以直接下载 演示 App 体验效果
DrawBoardView 自定义属性说明
属性 | 属性类型 | 默认值 | 属性说明 |
---|---|---|---|
dbvMinZoom | float | 1.0 | 支持最小的放大倍数 |
dbvMaxZoom | float | 4.0 | 支持最大的放大倍数 |
dbvFit | boolean | true | 是否自适应 |
dbvDrawEnabled | boolean | true | 是否启用绘图 |
dbvZoomEnabled | boolean | true | 是否启用缩放 |
dbvShowTouchPoint | boolean | true | 是否显示触摸点 |
android:src | drawable | 设置图片(画板背景图层) | |
dbvPaintColor | color | #FFFF0000 | 画笔的颜色 |
dbvTouchPointColor | color | #AFCCCCCC | 触摸点的颜色 |
dbvDrawTextSize | dimension | 15sp | 绘制文本的字体大小 |
dbvDrawTextBold | boolean | false | 绘制文本是否是粗体 |
dbvDrawTextUnderline | boolean | false | 绘制文本是否需要下划线 |
dbvTouchTolerance | float | 4.0 | 触摸时允许的容差值 |
dbvTouchPointRatio | float | 1.2 | 触摸点的比例 |
引入
Gradle:
- 在 Project 的 build.gradle 里面添加远程仓库
allprojects
repositories
//...
mavenCentral()
- 在 Module 的 build.gradle 里面添加引入依赖项 ```gradle implementation 'com.github.jenly1314:drawboard:1.0.1'
## 示例
布局示例
```xml
<com.king.drawboard.view.DrawBoardView
android:id="@+id/drawBoardView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
主要支持的绘制模式
/**
* 绘制路径
*/
DrawMode.DRAW_PATH
/**
* 绘制点
*/
DrawMode.DRAW_POINT
/**
* 绘制线
*/
DrawMode.DRAW_LINE
/**
* 绘制矩形
*/
DrawMode.DRAW_RECT
/**
* 绘制椭圆
*/
DrawMode.DRAW_OVAL
/**
* 绘制圆
*/
DrawMode.DRAW_CIRCLE
/**
* 绘制文本
*/
DrawMode.DRAW_TEXT
/**
* 绘制图片
*/
DrawMode.DRAW_BITMAP
/**
* 橡皮擦
*/
DrawMode.ERASER
/**
* 如设置绘制模式为:DrawMode.DRAW_PATH
*/
drawBoardView.setDrawMode(DrawMode.DRAW_PATH)
主要的一些操作方法
/**
* 撤销一步
*/
drawBoardView.undo()
/**
* 恢复一步
*/
drawBoardView.redo()
/**
* 清除画布
*/
drawBoardView.clear()
/**
* 改变绘制模式
*/
drawBoardView.setDrawMode(drawMode)
/**
* 设置画笔颜色
*/
drawBoardView.setPaintColor(paintColor)
/**
* 设置画笔线条描边宽度
*/
drawBoardView.setLineStrokeWidth(lineStrokeWidth)
/**
* 设置图片(画板背景图层)
*/
drawBoardView.setImageBitmap(bitmap)
/**
* 获取图片(画板背景图层和画板图层合并后的图片)
*/
drawBoardView.getImageBitmap()
更多使用详情,请查看Demo中的源码使用示例或直接查看API 帮助文档
版本记录
v1.0.1:2022-2-17
- 对外提供更多 Paint 相关配置
v1.0.0:2021-11-30
- DrawBoard 初始版本
以上是关于DrawBoard 是一个自定义 View 实现的画板;方便对图片进行各种编辑或涂鸦相关操作的主要内容,如果未能解决你的问题,请参考以下文章