1 Star 0 Fork 1

智慧教育 / Graffiti-master

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Android图片涂鸦

主要功能

  • 设置画笔及形状

    画笔可以选择手绘、仿制、橡皮擦、文字,其中仿制功能跟PS中的类似,复制图片中的某处地方。形状可以选择手绘、箭头、直线、圆、矩形等。画笔的底色可以选择颜色,或者选择一张画布。

  • 撤销及清屏

    可每一步的操作都可以撤销,清屏时将清除所有的操作。

  • 放缩、移动及旋转

    在涂鸦的过程中,可以自由地通过手势缩放和移动图片,同时在多次缩放后,可快速居中图片;支持旋转图片。

  • 放大器

    为了更细微地涂鸦,涂鸦过程中可以设置出现放大器.

使用

/**
 * 涂鸦界面,根据GraffitiView的接口,提供页面交互
 *
 */
public class GraffitiActivity extends Activity {
/**
     * 启动涂鸦界面
     *
     * @param activity
     * @param params      涂鸦参数
     * @param requestCode startActivityForResult的请求码
     */
    public static void startActivityForResult(Activity activity, GraffitiParams params, int requestCode) {
        Intent intent = new Intent(activity, GraffitiActivity.class);
        intent.putExtra(GraffitiActivity.KEY_PARAMS, params);
        activity.startActivityForResult(intent, requestCode);
    }
 }
 /**
 * 涂鸦参数
 */
public static class GraffitiParams implements Parcelable {
    /**
     * 图片路径
     */
    public String mImagePath;
    /**
     *  保存路径,如果为null,则图片保存在根目录下/DCIM/Graffiti/
     */
    public String mSavePath;
    /**
     *  保存路径是否为目录,如果为目录,则在该目录生成由时间戳组成的图片名称
     */
    public boolean mSavePathIsDir;
    /**
     *  橡皮擦底图,如果为null,则底图为当前图片路径
     */
    public String mEraserPath;
    /**
     * 橡皮擦底图是否调整大小,如果为true则调整到跟当前涂鸦图片一样的大小.
     * 默认为true
     */
    public boolean mEraserImageIsResizeable = true;
    /**
     * 触摸时,图片区域外是否绘制涂鸦轨迹
     */
    public boolean mIsDrawableOutside;
    /**
     * 涂鸦时(手指按下)隐藏设置面板的延长时间(ms),当小于等于0时则为不尝试隐藏面板(即保持面板当前状态不变);当大于0时表示需要触摸屏幕超过一定时间后才隐藏
     * 或者手指抬起时展示面板的延长时间(ms),或者表示需要离开屏幕超过一定时间后才展示
     * 默认为800ms
     */
    public long mChangePanelVisibilityDelay = 800; //ms
    /**
     * 设置放大镜的倍数,当小于等于0时表示不使用放大器功能
     * 放大器只有在设置面板被隐藏的时候才会出现
     * 默认为2.5倍
     */
    public float mAmplifierScale = 2.5f;
    /**
     * 初始化的画笔大小
     * 默认为30px
     */
    public float mPaintSize = 30;
}

依赖

dependencies {
    compile 'com.forward.androids:androids:1.1.1'
}

界面

IMG IMG IMG

相关文章

  • 功能介绍:

android图片涂鸦,具有设置画笔,撤销,缩放移动等功能(一)

  • 原理介绍:

android图片涂鸦,具有设置画笔,撤销,缩放移动等功能(二)

android图片涂鸦——旋转与文字功能的实现原理

更新日志

  • 2017-03-16 v4.1(5)

(1)加入文字功能,支持输入文字并对文字进行编辑、旋转等.

  • 2017-02-18 v4.0(4)

(1)加入旋转图片的功能,并且支持撤销旋转前的涂鸦操作.

  • 2017-01-24 v3.0(3)

(1)合并图片坐标系和画布坐标系,简化原理. (2)更新原理介绍的文章.

  • 2016-12-23 v2.0(2)

(1)增加放大器功能.

(2)新增接口:涂鸦时面板自动隐藏.

(3)修复:使用长图,缩放移动时不能自由移动.

空文件

简介

绘画板开源代码 展开 收起
Android
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Android
1
https://gitee.com/ns-education/graffiti-master.git
git@gitee.com:ns-education/graffiti-master.git
ns-education
graffiti-master
Graffiti-master
master

搜索帮助