Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

SketchBoard是一个可涂鸦、绘图、添加文字、图像(可旋转缩放)、背景的Fragment,其中主要由SketchView利用matrix完成所有图形绘制操作。 SketchBoard is a Fragment that can add a graffiti, graphics, text, images (rotating and scaling), or background 。

Notifications You must be signed in to change notification settings

dsbGenius/WhiteBoard

Repository files navigation

SketchBoard是一个可涂鸦、绘图、添加文字、图像(可旋转缩放)、背景的Fragment,其中主要由SketchView利用matrix完成所有图形绘制操作。

tips:图像旋转缩放高仿美图APP的操作方式

tips: 感谢🙏绮怀先生对图片选取功能的代码贡献

欢迎加入WhiteBorad交流群,QQ群号码:657011470

更新日志

2017年6月13日 把SketchView所有成员变量及方法都改为public,方便扩展

2017年6月9日 修复画笔过多时绘制卡顿问题(只能撤销最近十笔画笔操作)

2017年4月19日 修复橡皮擦功能

一、效果演示

1.1 画笔演示.gif

画笔演示.gif

1.2 图像操作演示.gif

图像操作演示.gif

1.3 画板切换演示.gif

画板切换演示.gif

二、使用说明

2.1 已上传Bintray,build.gradle加入即可:

compile 'com.yinghe:whiteboardlib:1.1.1'

2.2 在activity中直接使用:

public class MainActivity extends AppCompatActivity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 //获取Fragment管理器
 FragmentTransaction ts = getSupportFragmentManager().beginTransaction();
 //获取WhiteBoardFragment实例
 WhiteBoardFragment whiteBoardFragment = WhiteBoardFragment.newInstance();
 //添加到界面中
 ts.add(R.id.fl_main, whiteBoardFragment, "wb").commit();
 }

2.3 WhiteBoardFragment的API说明:

 /**
 * show 默认新建一个学生端功能
 * @author TangentLu
 * create at 16/6/17 上午9:59
 */
 public static WhiteBoardFragment newInstance() {
 }
 /**
 * show 新建一个教师端的画板碎片,有推送按钮
 * @param callback 推送按钮监听器,接受返回的图片文件路径可用于显示文件
 * @author TangentLu
 * create at 16/6/17 上午9:57
 */
 public static WhiteBoardFragment newInstance(SendBtnCallback callback) {
 }
 /**
 * @param imgPath 添加的背景图片文件路径
 * @author TangentLu
 * create at 16/6/21 下午3:39
 * show 设置当前白板的背景图片
 */
 public void setCurBackgroundByPath(String imgPath) {
 }
 /**
 * show 新增白板并设置白板的背景图片
 * @param imgPath 添加的背景图片文件路径
 * @author TangentLu
 * create at 16/6/21 下午3:39
 */
 public void setNewBackgroundByPath(String imgPath) {
 }
 /**
 * show 新增图片到当前白板
 * @param imgPath 新增的图片路径
 * @author TangentLu
 * create at 16/6/21 下午3:42
 */
 public void addPhotoByPath(String imgPath) {
 }
 /**
 * show 获取当前白板的BitMap
 * @author TangentLu
 * create at 16/6/21 下午3:44
 */
 public Bitmap getResultBitmap() {
 }
 /**
 * show 手动保存当前画板到文件,耗时操作
 *
 * @param filePath 保存的文件路径
 * @param imgName 保存的文件名
 * @return 返回保存后的文件路径
 * @author TangentLu
 * create at 16/6/21 下午3:46
 */
 public File saveInOI(String filePath, String imgName) {
 }

三、技术博客

主要技术难点可参考以下技术博客:

Android画板(一):软键盘遮挡输入焦点的完美解决方案

Android画板(二):Matrix实现美图APP的旋转缩放

About

SketchBoard是一个可涂鸦、绘图、添加文字、图像(可旋转缩放)、背景的Fragment,其中主要由SketchView利用matrix完成所有图形绘制操作。 SketchBoard is a Fragment that can add a graffiti, graphics, text, images (rotating and scaling), or background 。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

Languages

AltStyle によって変換されたページ (->オリジナル) /