# Ananas **Repository Path**: chinasoft5_ohos/Ananas ## Basic Information - **Project Name**: Ananas - **Description**: 一个简单的照片编辑器 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2021-06-29 - **Last Updated**: 2022-06-12 ## Categories & Tags **Categories**: harmonyos-image **Tags**: None ## README # Ananas #### 项目介绍 - 项目名称:Ananas - 所属系列:openharmony的第三方组件适配移植 - 功能:一个简单的照片编辑器 - 项目移植状态:主功能完成 - 调用差异:无 - 开发版本:sdk6,DevEco Studio2.2 Beta1 - 基线版本:release 1.2.6 #### 效果演示 ![效果演示](./screen/ananas_record.gif "GIF1") ![效果演示](./screen/ananas_record2.gif "GIF2") ![效果演示](./screen/ananas_record3.gif "GIF3") #### 安装教程 1.在项目根目录下的build.gradle文件中, ``` allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } } ``` 2.在entry模块的build.gradle文件中, ``` dependencies { implementation('com.gitee.chinasoft_ohos:Ananas:1.0.0') implementation('com.gitee.chinasoft_ohos:StyleableToast:1.0.1') implementation('com.gitee.chinasoft_ohos:isrc_timber:1.0.0') implementation('com.gitee.chinasoft_ohos:commontools:1.0.0') ...... } ``` 在sdk6,DevEco Studio2.2 Beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 #### 使用说明 完整调用: ```java private void editImageClick() { EditImageAbility editImageAbility = new EditImageAbility(); editImageAbility.setMainBit(take_img.getPixelMap()); if (null == take_img.getPixelMap()) { new StyleableToast .Builder(getContext()) .text("Please choose an image for edit") .textColor(Color.BLACK) .textSize(14) .backgroundColor(new Color(0xF0F0F0)) .cornerRadius(19) .show(); return; } String outputFile = genEditFile(); Intent intent = new Intent(); //图片资源路径 intent.setParam("SourceFilePath", sourceFilePath); //修改后的图片保存路径 intent.setParam("OutputFilePath", outputFile); presentForResult(editImageAbility, intent, ACTION_REQUEST_EDITIMAGE); } ``` 在AbilitySlice获取回调: ```java @Override protected void onResult(int requestCode, Intent data) { if (requestCode == ACTION_REQUEST_EDITIMAGE) { if (data == null) { return; } String newFilePath = data.getStringParam("OutputFilePath"); boolean isImageEdit = data.getBooleanParam("IS_IMAGE_EDITED", false); PixelMap pixelMap = take_img.getPixelMap(); if (isImageEdit) { pixelMap = BitmapUtils.getPixMapFromPath(newFilePath); try { String string = getResourceManager().getElement(ResourceTable.String_save_path).getString(newFilePath); MyToast.show2(getContext(), string); } catch (IOException | NotExistException | WrongTypeException e) { e.printStackTrace(); } } else { newFilePath = data.getStringParam("SourceFilePath"); } if (null != pixelMap) { take_img.setPixelMap(pixelMap); } } } ``` #### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 #### 待实现 - Text添加文字不支持文字的缩放 #### 版本迭代 - 1.0.0 - 0.0.1-SNAPSHOT #### 版权和许可信息 MIT License