鸿蒙开源组件——简易的画板

jacksky
发布于 2022-1-11 17:08
浏览
1收藏

ohos-palette

项目介绍

  • 项目名称:ohos-palette
  • 所属系列:OpenHarmony的第三方组件适配移植
  • 功能:简易的画板
  • 项目移植状态:主功能完成
  • 调用差异:无
  • 开发版本:sdk6,DevEco Studio 2.2 Beta1
  • 基线版本:master分支

效果演示鸿蒙开源组件——简易的画板-鸿蒙开发者社区

安装教程

在sdk6,DevEco Studio 2.2 Beta1下项目可直接运行。 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下

使用说明

使用该库非常简单,只需查看提供的示例的源代码。 在demo中通过布局添加组件

 <com.beyondsw.palette.PaletteView
        ohos:id="$+id:palette"
        ohos:height="0vp"
        ohos:width="match_parent"
        ohos:background_element="$media:bg"
        ohos:weight="1"/>

在AbilitySlice中调用对应api实现不同功能

@Override
    public void onClick(Component v) {
        switch (v.getId()) {
            case ResourceTable.Id_undo:
                mPaletteView.undo();
                break;
            case ResourceTable.Id_redo:
                mPaletteView.redo();
                break;
            case ResourceTable.Id_pen:
                v.setSelected(true);
                mEraserView.setSelected(false);
                mEraserImage.setPixelMap(ResourceTable.Media_ic_eraser_selected);
                mPaletteView.setDrawMode(PaletteView.Mode.DRAW);
                break;
            case ResourceTable.Id_eraser:
                v.setSelected(true);
                mPenView.setSelected(false);
                mPenImage.setPixelMap(ResourceTable.Media_ic_pen_selected);
                mPaletteView.setDrawMode(PaletteView.Mode.ERASER);
                break;
            case ResourceTable.Id_clear:
                mPaletteView.clear();
                break;
            case ResourceTable.Id_save:
                saveImage();
                break;
            default:
                break;
        }
    }
  1. 支持撤销(undo);
  2. 支持反撤销(redo);
  3. 支持橡皮擦(eraser);
  4. 支持清除功能(clear);
  5. 支持保存为图像(buildPixelMap)。

测试信息

CodeCheck代码测试无异常

CloudTest代码测试无异常

病毒安全检测通过

当前版本demo功能与原组件基本无差异

版本迭代

0.0.2-SNAPSHOT

ohos-palette-master.zip 1.91M 37次下载
已于2022-1-11 17:08:25修改
1
收藏 1
回复
举报
1条回复
按时间正序
/
按时间倒序
Linda17
Linda17

版主有考虑加上分布式协同功能吗?

回复
2022-1-16 00:51:15
回复
    相关推荐