diff --git a/README.md b/README.md
index 8b65cfb..1450031 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
- 推荐使用ImageKnifeComponent组件配合ImageKnifeOption参数来实现功能。
- 支持用户自定义配置实现能力参考ImageKnifeComponent组件中对于入参ImageKnifeOption的处理。
-
+
## 下载安装
@@ -25,24 +25,21 @@ OpenHarmony npm环境配置等更多内容,参考安装教程 [如何安装Ope
## 使用说明
-1.首先初始化全局ImageKnife实例,在app.ets中调用ImageKnife.with()进行初始化。
+1.首先初始化全局ImageKnife实例,在AbilityStage.ts中调用ImageKnife.with(this.context)进行初始化
```typescript
+import AbilityStage from "@ohos.application.AbilityStage"
import {ImageKnife} from '@ohos/imageknife'
-export default {
- data: {
- imageKnife: {} // ImageKnife全局占位符
- },
- onCreate() {
- this.data.imageKnife = ImageKnife.with();// ImageKnife占位符全局初始化赋值
- }
+
+export default class MyAbilityStage extends AbilityStage {
+ onCreate() {
+ globalThis.ImageKnife = ImageKnife.with(this.context);
+ }
}
```
2.参考[推荐使用](###'推荐使用')或[自定义实现](###'自定义实现')
-
-
#### 推荐使用:
使用ImageKnifeOption作为入参,配合自定义组件ImageKnifeComponent使用。
@@ -82,7 +79,7 @@ struct Index {
```typescript
export default class PixelMapPack{
- pixelMap:PixelMap;
+ pixelMap:PixelMap;
}
```
@@ -113,7 +110,7 @@ Image(this.imageKnifePixelMapPack.pixelMap)
```typescript
//配置参数
let requestOptin = new RequestOption();
- //加载本地图片
+ //加载本地图片
requestOptin.load($r('app.media.jpgSample'))
.addListener((err,data) => {
//加载成功/失败回调监听
@@ -127,24 +124,24 @@ let requestOptin = new RequestOption();
.placeholder( $r('app.media.icon_loading'), (data)=>{
// 占位图回调监听
})
- .errorholder( $r('app.media.icon_failed'), (data)=>{
+ .errorholder( $r('app.media.icon_failed'), (data)=>{
// 失败占位图回调监听
})
.thumbnail(0.3, (data) => {
// 缩略图加载成功回调
})
- // 一定要把控件大小传给RequestOption,图片变换必须
+ // 一定要把控件大小传给RequestOption,图片变换必须
.setImageViewSize({width:200, height:200})
- // 设置缓存策略
- .diskCacheStrategy(new AUTOMATIC())
- .addProgressListener((percentValue: string) => {
+ // 设置缓存策略
+ .diskCacheStrategy(new AUTOMATIC())
+ .addProgressListener((percentValue: string) => {
// 图片网络加载进度条百分比回调
})
- .addRetryListener((error: any) => {
- // 加载失败重试监听 图片加载失败时优先展示重试图层,点击重试图层,会重新进行一次加载流程
+ .addRetryListener((error: any) => {
+ // 加载失败重试监听 图片加载失败时优先展示重试图层,点击重试图层,会重新进行一次加载流程
})
- // 左上圆角10pixel像素点
- .roundedCorners({top:10})
+ // 左上圆角10pixel像素点
+ .roundedCorners({top:10})
// 启动加载流程,执行结果将会返回到上面的回调接口中
ImageKnife.call(requestOptin);
```
@@ -212,10 +209,12 @@ let requestOptin = new RequestOption();
| request.roundedCorners() | RoundedCornersTransformation | 圆角剪裁 |
| request.sepiaFilter() | SepiaFilterTransformation | 乌墨色滤波器 |
| request.sketchFilter() | SketchFilterTransformation | 素描滤波器 |
+| request.mask() | MaskTransformation | 遮罩 |
+| request.swirlFilter() | SwirlFilterTransformation | 扭曲滤波器 |
## 兼容性
-支持 OpenHarmony API version 8 及以上版本。
+支持 OpenHarmony API version 9 及以上版本。
## 目录结构
@@ -223,69 +222,71 @@ let requestOptin = new RequestOption();
/imageknife/src/
- main/ets/components
- cache # 缓存相关内容
- - diskstrategy # 缓存策略
- - key # 缓存key生成策略
- - Base64.ets # Base64算法
- - CustomMap.ets # 自定义Map封装
- - DiskCacheEntry.ets# 磁盘缓存entry
- - DiskLruCache.ets # 磁盘LRU缓存策略
- - FileReader.ets # 文件读取相关
- - FileUtils.ets # 文件工具类
- - LruCache.ets # 内存LRU缓存策略
- - Md5.ets # MD5算法
-
+ - diskstrategy # 缓存策略
+ - key # 缓存key生成策略
+ - Base64.ets # Base64算法
+ - CustomMap.ets # 自定义Map封装
+ - DiskCacheEntry.ets# 磁盘缓存entry
+ - DiskLruCache.ets # 磁盘LRU缓存策略
+ - FileReader.ets # 文件读取相关
+ - FileUtils.ets # 文件工具类
+ - LruCache.ets # 内存LRU缓存策略
+ - Md5.ets # MD5算法
+
- imageknife # imageknife主要内容
- - compress # 压缩相关
- - constants # 常量相关
- - entry # 部分数据结构
- - holder # 占位图相关解析
- - interface # 接口相关
- - networkmanage # 网络相关
- - pngj # pngj相关
- - requestmanage # imageknife请求相关
- - resourcemanage # 本地资源解析相关
- - transform # 图片变换相关
- - utils # 工具类相关
- - ImageKnife.ets # imageknife门面,app持久化类
- - ImageKnifeData.ets # 数据封装
- - ImageKnifeComponent.ets # 自定义控件封装
- - ImageKnifeOption.ets # 用户传参数封装
- - PixelMapPack.ets # PixelMap封装
- - RequestOption.ets # 用户设置参数封装
-
+ - compress # 压缩相关
+ - constants # 常量相关
+ - entry # 部分数据结构
+ - holder # 占位图相关解析
+ - interface # 接口相关
+ - networkmanage # 网络相关
+ - pngj # pngj相关
+ - requestmanage # imageknife请求相关
+ - resourcemanage # 本地资源解析相关
+ - transform # 图片变换相关
+ - utils # 工具类相关
+ - ImageKnife.ets # imageknife门面,app持久化类
+ - ImageKnifeData.ets # 数据封装
+ - ImageKnifeComponent.ets # 自定义控件封装
+ - ImageKnifeOption.ets # 用户传参数封装
+ - PixelMapPack.ets # PixelMap封装
+ - RequestOption.ets # 用户设置参数封装
+
/entry/src/
-- main/ets/MainAbility
+- main/ets/MainAbility
- pages # 测试page页面列表
- - basicTestFeatureAbilityPage.ets # 测试元能力
- - basicTestFileIOPage.ets # 测试fileio
- - basicTestMediaImage.ets # 测试媒体image
- - basicTestResourceManagerPage.ets # 测试本地资源解析
- - compressPage.ets # 压缩页面
- - frescoImageTestCasePage.ets # 测试属性动画组件切换
- - frescoLayerTestCasePage.ets # 测试ImageKnifeComponent组件切换配合属性动画
- - frescoRetryTestCasePage.ets # 测试ImageKnifeComponent加载失败重试
- - index.ets # 测试页面入口
- - indexFresco.ets # 二级测试页面入口
- - loadNetworkTestCasePage.ets # 网络加载测试
- - loadResourceTestCasePage.ets # 本地加载测试
- - showErrorholderTestCasePage.ets # 加载失败占位图测试
- - storageTestDiskLruCache.ets # 磁盘缓存测试
- - storageTestLruCache.ets # 内存缓存测试
- - testAllCacheInfoPage.ets # 所有缓存信息获取测试
- - testAllTypeImageKnifeComponentPage.ets # 所有类型图片加载测试
- - testAllTypeNativeImagePage.ets # 所有类型本地图片加载测试
- - testGifDontAnimatePage.ets # gif加载静态图片测试
- - testImageKnifeOptionChangedPage.ets # ImageKnifeOption数据切换测试
- - testImageKnifeOptionChangedPage2.ets # ImageKnifeOption数据切换测试
- - testMultiThreadWorkerPage2.ets # 多线程测试
- - testPlaceholderPage.ets # 加载占位图测试
- - testPreloadPage.ets # 预加载测试
- - testResourceManagerPage.ets # 解析本地资源测试
- - transformPixelMapPage.ets # 所有类型变换测试
- - transformTestCasePage.ets # 所有类型变换配合ImageKnifeComponent测试
-
+ - basicTestFeatureAbilityPage.ets # 测试元能力
+ - basicTestFileIOPage.ets # 测试fileio
+ - basicTestMediaImage.ets # 测试媒体image
+ - basicTestResourceManagerPage.ets # 测试本地资源解析
+ - compressPage.ets # 压缩页面
+ - cropImagePage.ets # 裁剪页面
+ - cropImagePage2.ets # 手势裁剪页面
+ - frescoImageTestCasePage.ets # 测试属性动画组件切换
+ - frescoLayerTestCasePage.ets # 测试ImageKnifeComponent组件切换配合属性动画
+ - frescoRetryTestCasePage.ets # 测试ImageKnifeComponent加载失败重试
+ - index.ets # 测试页面入口
+ - indexFresco.ets # 二级测试页面入口
+ - loadNetworkTestCasePage.ets # 网络加载测试
+ - loadResourceTestCasePage.ets # 本地加载测试
+ - showErrorholderTestCasePage.ets # 加载失败占位图测试
+ - storageTestDiskLruCache.ets # 磁盘缓存测试
+ - storageTestLruCache.ets # 内存缓存测试
+ - testAllCacheInfoPage.ets # 所有缓存信息获取测试
+ - testAllTypeImageKnifeComponentPage.ets # 所有类型图片加载测试
+ - testAllTypeNativeImagePage.ets # 所有类型本地图片加载测试
+ - testGifDontAnimatePage.ets # gif加载静态图片测试
+ - testImageKnifeOptionChangedPage.ets # ImageKnifeOption数据切换测试
+ - testImageKnifeOptionChangedPage2.ets # ImageKnifeOption数据切换测试
+ - testMultiThreadWorkerPage2.ets # 多线程测试
+ - testPlaceholderPage.ets # 加载占位图测试
+ - testPreloadPage.ets # 预加载测试
+ - testResourceManagerPage.ets # 解析本地资源测试
+ - transformPixelMapPage.ets # 所有类型变换测试
+ - transformTestCasePage.ets # 所有类型变换配合ImageKnifeComponent测试
+
- workers # 测试worker多线程
- - worker1.js # worker多线程测试
+ - worker1.js # worker多线程测试
```
## 贡献代码
diff --git a/build-profile.json5 b/build-profile.json5
index d787b0e..1021077 100644
--- a/build-profile.json5
+++ b/build-profile.json5
@@ -1,21 +1,7 @@
{
"app": {
- "signingConfigs": [
- {
- "name": "default",
- "material": {
- "certpath": "C:\\Users\\zwx1045834\\.ohos\\config\\openharmony\\auto_ohos.cer",
- "storePassword": "000000184CD86AF7B78D3E3B6C36B9221705137AC28BD8A341A757477E5DC27D95E6A0DFD5EB51AE",
- "keyAlias": "debugKey",
- "keyPassword": "00000018DAB1AB9C9DF6E7C4D35BE8EAF4323EFA49131AB39C65BA5C44DE6D3879C6B31AA70D1E14",
- "profile": "C:\\Users\\zwx1045834\\.ohos\\config\\openharmony\\auto_ohos_default_com.example.imageknifegiteepro.p7b",
- "signAlg": "SHA256withECDSA",
- "storeFile": "C:\\Users\\zwx1045834\\.ohos\\config\\openharmony\\auto_ohos.p12"
- }
- }
- ],
- "compileSdkVersion": 8,
- "compatibleSdkVersion": 8,
+ "compileSdkVersion": 9,
+ "compatibleSdkVersion": 9,
"products": [
{
"name": "default",
@@ -39,6 +25,10 @@
{
"name": "imageknife",
"srcPath": "./imageknife"
+ },
+ {
+ "name": "disklrucache",
+ "srcPath": "./disklrucache"
}
]
}
\ No newline at end of file
diff --git a/hvigorfile.js b/hvigorfile.js
index cff9f0d..5f2735e 100644
--- a/hvigorfile.js
+++ b/hvigorfile.js
@@ -1,2 +1,2 @@
// Script for compiling build behavior. It is built in the build plug-in and cannot be modified currently.
-module.exports = require('@ohos/hvigor-ohos-plugin').legacyAppTasks
\ No newline at end of file
+module.exports = require('@ohos/hvigor-ohos-plugin').appTasks
\ No newline at end of file
diff --git a/package.json b/package.json
index 35bc6d0..376389e 100644
--- a/package.json
+++ b/package.json
@@ -1,18 +1,19 @@
{
- "license": "ISC",
- "devDependencies": {},
- "name": "imageknifegiteepro",
- "ohos": {
- "org": "huawei",
- "directoryLevel": "project",
- "buildTool": "hvigor"
+ "license":"ISC",
+ "devDependencies":{},
+ "name":"imageknife",
+ "ohos":{
+ "org":"huawei",
+ "directoryLevel":"project",
+ "buildTool":"hvigor"
},
- "description": "example description",
- "repository": {},
- "version": "1.0.0",
- "dependencies": {
- "@ohos/hvigor-ohos-plugin": "1.0.6",
- "hypium": "^1.0.0",
- "@ohos/hvigor": "1.0.6"
+ "description":"example description",
+ "repository":{},
+ "version":"1.0.0",
+ "dependencies":{
+ "@ohos/hypium":"1.0.1",
+ "@ohos/hvigor-ohos-plugin":"1.1.6",
+ "hypium":"^1.0.0",
+ "@ohos/hvigor":"1.1.6"
}
-}
+}
\ No newline at end of file