{"_id":"@cordova-ohos/cordova-plugin-canvas2image","_rev":"5-91bd05b648a383261f50b37035dbcd42","name":"@cordova-ohos/cordova-plugin-canvas2image","dist-tags":{"latest":"0.7.1"},"versions":{"0.7.0":{"name":"@cordova-ohos/cordova-plugin-canvas2image","version":"0.7.0","keywords":["cordova","canvas2image","ecosystem:cordova","cordova-openharmony"],"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-canvas2image@0.7.0","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"bugs":{"url":"https://gitcode.com/OpenHarmony-Cordova/cordova-plugin-canvas2image/issues"},"dist":{"shasum":"589db8697840795ad17194154c72ed6f475172be","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-canvas2image/-/cordova-plugin-canvas2image-0.7.0.tgz","fileCount":9,"integrity":"sha512-AukDMRNk7CnZE7OKiqbLVosLg6F3Djvec4PQOpWOgRB4SfC3YzvibkH/ZeIWuKdrHTdMuGoIlkXif5weyDRoMA==","signatures":[{"sig":"MEQCID2iVEyM3Cr4uKsPTpPKrrdRGGy6v6FKuIGSBGACYx4fAiAh2q2s4gcfqRJ8qSJ3SUh2ACPMmL+iU7qyQ5S4+uIuZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36568},"cordova":{"id":"cordova-plugin-canvas2image","platforms":["ohos"]},"engines":{"cordovaDependencies":{"0.7.0":{"hcordova":">=1.0.0","@cordova-ohos/ohos":">=2.0.0"}}},"gitHead":"6250ac23cb49a803c14ae3992282b1dcbf28e8a1","_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"repository":{"url":"gitcode:OpenHarmony-Cordova/cordova-plugin-canvas2image","type":"git"},"_npmVersion":"10.5.1","description":"Cordova canvas2image Plugin","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-canvas2image_0.7.0_1773928731386_0.37268210567020876","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@cordova-ohos/cordova-plugin-canvas2image","version":"0.7.1","description":"Cordova canvas2image Plugin","cordova":{"id":"cordova-plugin-canvas2image","platforms":["ohos"]},"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-canvas2image"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-canvas2image/issues"},"keywords":["cordova","canvas2image","ecosystem:cordova","cordova-openharmony"],"engines":{"cordovaDependencies":{"0.7.1":{"@cordova-ohos/ohos":">=2.0.0","hcordova":">=1.0.0"}}},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-canvas2image@0.7.1","gitHead":"661da07b1df842f4f7b7031257d8888405d16909","_nodeVersion":"22.0.0","_npmVersion":"10.5.1","dist":{"integrity":"sha512-0IvvFx9pouH5BG47Af4cejiQ3E/KbbLsVy/rIW7CWY2o82XR0lG6xpY4EA/qinfS33t1+0/SDWCSnoa/bY0j1Q==","shasum":"4398588832e8a5175ce42047c4fc57395dc548ad","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-canvas2image/-/cordova-plugin-canvas2image-0.7.1.tgz","fileCount":10,"unpackedSize":51215,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDWcy/hUj7fWteEv0pMr/M0sxIV0vXGvIWYf/xlt17GrAiEAkkvvLiHOAxrSuVa2+kB4M71k2v0IdwWAHZXwao40xMk="}]},"_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"directories":{},"maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"},{"name":"wanpengsz","email":"wanpengsz@163.com"},{"name":"xkh111","email":"xukaihui11@163.com"},{"name":"hcordova","email":"chenlihuiabc@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cordova-plugin-canvas2image_0.7.1_1785149228557_0.39766340916828247"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-19T13:58:51.301Z","modified":"2026-07-27T10:47:08.978Z","0.7.0":"2026-03-19T13:58:51.552Z","0.7.1":"2026-07-27T10:47:08.737Z"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-canvas2image/issues"},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","keywords":["cordova","canvas2image","ecosystem:cordova","cordova-openharmony"],"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-canvas2image"},"description":"Cordova canvas2image Plugin","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"},{"name":"wanpengsz","email":"wanpengsz@163.com"},{"name":"xkh111","email":"xukaihui11@163.com"},{"name":"hcordova","email":"chenlihuiabc@163.com"}],"readme":"# <center>cordova-plugin-canvas2image</center>\r\n\r\n[![zh-CN](https://img.shields.io/badge/lang-中文-blue.svg)](README.md)\r\n[![en](https://img.shields.io/badge/lang-English-blue.svg)](README.en.md)\r\n\r\n本项目基于 [cordova-plugin-canvas2image@0.7.0](https://www.npmjs.com/package/cordova-plugin-canvas2image/v/0.7.0) 开发，本文档重点阐述其在 OpenHarmony（OHOS）系统中的具体应用。\r\n\r\n- [cordova-plugin-canvas2image](#cordova-plugin-canvas2image)\r\n  - [简介](#简介)\r\n  - [支持平台](#支持平台)\r\n  - [下载安装](#下载安装)\r\n    - [从 npm 安装（推荐）](#从-npm-安装推荐)\r\n    - [指定版本安装](#指定版本安装)\r\n    - [从 GitCode 仓库安装（开发版）](#从-gitcode-仓库安装开发版)\r\n    - [离线安装（本地包）](#离线安装本地包)\r\n    - [安装后验证](#安装后验证)\r\n    - [卸载](#卸载)\r\n  - [约束与限制](#约束与限制)\r\n    - [兼容性](#兼容性)\r\n  - [使用示例](#使用示例)\r\n  - [使用说明](#使用说明)\r\n  - [目录结构](#目录结构)\r\n  - [贡献代码](#贡献代码)\r\n  - [许可证](#许可证)\r\n  - [官方资源](#官方资源)\r\n\r\n\r\n## 简介\r\n\r\n`cordova-plugin-canvas2image` 是 Harmony Cordova 生态系统中一款核心插件，提供高效、跨平台的 Canvas 转图片解决方案，支持将 HTML5 Canvas 元素导出为 PNG/JPG 格式并保存到设备本地，适配移动端图片处理场景，为开发者提供便捷的 Canvas 转图片及本地保存能力。\r\n\r\n- 跨平台适配：支持多平台 Canvas 元素转图片，兼容移动端使用场景\r\n\r\n- 多格式支持：可将 Canvas 导出为 PNG、JPG 两种常用图片格式\r\n\r\n- 本地保存：支持将转换后的图片直接保存到设备本地相册\r\n\r\n- 高效便捷：API 简洁易用，无需复杂配置，快速实现 Canvas 转图片功能\r\n\r\n## 支持平台\r\n\r\n- **Android**：API 19 及以上（Android 4.4+）\r\n\r\n- **iOS**：10.0 及以上\r\n\r\n- **OHOS**：5.0+\r\n\r\n## 下载安装\r\n\r\n通过 hcordova CLI 即可快速安装插件，支持从 npm 仓库、GitCode 仓库获取，可指定平台和版本安装。\r\n\r\n### 从 npm 安装（推荐）\r\n\r\n```bash\r\n# 使用 hcordova CLI 安装\r\n# 安装 hcordova 命令化工具\r\nnpm install -g hcordova\r\n\r\n# 全平台安装最新稳定版插件\r\nhcordova plugin add cordova-plugin-canvas2image\r\n\r\n```\r\n\r\n### 指定版本安装\r\n\r\n如需安装特定版本插件，执行以下命令：\r\n\r\n```bash\r\n# 安装特定版本（例如 1.0.0）\r\nhcordova plugin add cordova-plugin-canvas2image@1.0.0 --platform ohos\r\n\r\n```\r\n\r\n### 从 GitCode 仓库安装（开发版）\r\n\r\n安装主分支最新开发版代码，仅为 OHOS 平台安装：\r\n\r\n```bash\r\n# 仅安装到 OHOS 平台，安装主分支最新代码\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-canvas2image.git --platform ohos\r\n\r\n# 指定标签/分支安装\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-canvas2image.git@develop --platform ohos\r\n\r\n```\r\n\r\n### 离线安装（本地包）\r\n\r\n适用于无网络环境，先下载插件包到本地，再执行离线安装：\r\n\r\n```bash\r\n# 下载插件包到本地（示例路径：~/Downloads/cordova-plugin-canvas2image）\r\n# 执行离线安装\r\nhcordova plugin add ~/Downloads/cordova-plugin-canvas2image --platform ohos\r\n```\r\n\r\n### 安装后验证\r\n\r\n安装完成后，可通过以下命令验证插件是否成功添加到项目中：\r\n\r\n```bash\r\n# 查看已安装的插件列表，若包含本插件 ID 则表示插件已成功安装\r\nhcordova plugin list\r\n```\r\n\r\n\r\n### 卸载\r\n\r\n```bash\r\n# Cordova CLI 全平台卸载\r\nhcordova plugin remove cordova-plugin-canvas2image \r\n\r\n# 指定平台卸载\r\nhcordova plugin remove cordova-plugin-canvas2image --platform ohos\r\n\r\n```\r\n\r\n## 约束与限制\r\n\r\n* 依赖插件：无强制依赖，插件集成后可直接使用，无需额外配置\r\n\r\n* 转换功能依赖 HTML5 Canvas 元素，需确保 Canvas 元素已正确渲染内容，否则可能导致转换失败\r\n\r\n* 图片保存功能需授予设备存储/相册权限，否则无法正常保存到本地\r\n\r\n### 兼容性\r\n\r\n支持：\r\n\r\n| 项目 | 版本/信息 |\r\n|-----|--------|\r\n| SDK | API12+ |\r\n| IDE | DevEco Studio: 5.0+ |\r\n| ROM | 5.1+ |\r\n| Emulator | OpenHarmony 6.0+ |\r\n\r\n在以下版本中已测试通过：\r\n\r\n| 项目 | 版本/信息 |\r\n|-----|--------|\r\n| @cordova-ohos/ohos | 14.0.1-ohos-14.0.1 |\r\n| SDK | 5.0.0(12) |\r\n| IDE | DevEco Studio: 6.0.13.200 |\r\n| ROM | 5.1.0.120 SP3 |\r\n| Emulator | OpenHarmony 6.0.1(21) |\r\n\r\n## 使用示例\r\n\r\n```js\r\n// 将图片画入 canvas 后，保存图片到相册\r\nfunction  savePhotoCanvas() {\r\n    window.canvas2ImagePlugin.saveImageDataToLibrary(\r\n        function(msg){\r\n            document.getElementById(\"canvasInfo\").innerHTML = msg;\r\n            console.log(msg);\r\n        },\r\n        function(err){\r\n            console.log(err);\r\n        },\r\n        document.getElementById('myCanvas')\r\n    );\r\n}\r\n\r\n```\r\n\r\n## 使用说明\r\n\r\n插件暴露全局对象 `window.canvas2ImagePlugin`，核心功能为将 HTML5 Canvas 元素转换为图片并保存到设备本地，无需额外初始化操作，直接调用对应方法即可。\r\n\r\n核心方法说明：saveImageDataToLibrary(successCallback, errorCallback, canvasElement)，用于将指定 Canvas 元素转换为图片并保存到本地相册。\r\n\r\n- successCallback：保存成功的回调函数，接收保存成功的提示信息\r\n\r\n- errorCallback：保存失败的回调函数，接收错误信息\r\n\r\n- canvasElement：需要转换的 HTML5 Canvas 元素（需确保元素已渲染完成）\r\n\r\n## 目录结构\r\n\r\n```\r\ncordova-plugin-canvas2image/\r\n├── src/                          # 源代码目录\r\n│   └── main/                     # 主要源代码\r\n│       ├── cpp/                  # C++ 原生代码\r\n│       │   └── Base64ToGallery/  # Base64 转图片模块\r\n│       │       ├── Canvas2ImagePlugin.cpp  # Canvas 转图片功能的 C++ 实现\r\n│       │       └── Canvas2ImagePlugin.h    # Canvas 转图片功能的头文件\r\n│       └── ets/                  # ArkTS 代码（OpenHarmony API）\r\n│           └── components/       # 组件目录\r\n│               └── AlertDialog/  # 弹窗组件\r\n│                   └── AlertDialog.ets    # 弹窗功能的实现\r\n├── www/                          # Web 资源目录\r\n│   └── Canvas2ImagePlugin.js     # JavaScript Canvas 转图片接口（Cordova 桥接层）\r\n├── .gitignore                    # Git 忽略文件配置\r\n├── LICENSE                       # 项目开源许可证\r\n├── OAT.xml                       # OpenHarmony 审核配置文件\r\n├── package.json                  # Node.js 包配置\r\n├── plugin.xml                    # Cordova 插件描述文件（核心配置）\r\n└── README.md                     # 项目说明文档\r\n```\r\n\r\n## 贡献代码\r\n\r\n使用过程中发现任何问题都可以提 [Issue](https://gitcode.com/CPF-Cordova/cordova-plugin-canvas2image/issues) ，当然也非常欢迎发 [PR](https://gitcode.com/CPF-Cordova/cordova-plugin-canvas2image/pulls) 共建。\r\n\r\n## 许可证\r\n\r\n本插件基于 **Apache License 2.0** 开源，详见 [LICENSE](LICENSE) 文件。\r\n\r\n## 官方资源\r\n\r\n- Android 和 iOS：[cordova-plugin-canvas2image 官方指南](https://www.npmjs.com/package/cordova-plugin-canvas2image)\r\n\r\n- GitCode 仓库：[CPF-Cordova/cordova-plugin-canvas2image](https://gitcode.com/CPF-Cordova/cordova-plugin-canvas2image)\r\n","readmeFilename":"README.md"}