1.update ImageKnife Project Config Files

Signed-off-by: zhoulisheng <635547767@qq.com>
This commit is contained in:
zhoulisheng 2022-07-14 23:14:51 -07:00
parent 560adc4574
commit 42af96cfd1
4 changed files with 106 additions and 114 deletions

165
README.md
View File

@ -13,7 +13,7 @@
- 推荐使用ImageKnifeComponent组件配合ImageKnifeOption参数来实现功能。 - 推荐使用ImageKnifeComponent组件配合ImageKnifeOption参数来实现功能。
- 支持用户自定义配置实现能力参考ImageKnifeComponent组件中对于入参ImageKnifeOption的处理。 - 支持用户自定义配置实现能力参考ImageKnifeComponent组件中对于入参ImageKnifeOption的处理。
<img src="screenshot/g3.gif" width="100%"/> <img src="C:\Users\Administrator\Desktop\screenshot\g3.gif" width="100%"/>
## 下载安装 ## 下载安装
@ -25,24 +25,21 @@ OpenHarmony npm环境配置等更多内容参考安装教程 [如何安装Ope
## 使用说明 ## 使用说明
1.首先初始化全局ImageKnife实例app.ets中调用ImageKnife.with()进行初始化。 1.首先初始化全局ImageKnife实例AbilityStage.ts中调用ImageKnife.with(this.context)进行初始化
```typescript ```typescript
import AbilityStage from "@ohos.application.AbilityStage"
import {ImageKnife} from '@ohos/imageknife' import {ImageKnife} from '@ohos/imageknife'
export default {
data: { export default class MyAbilityStage extends AbilityStage {
imageKnife: {} // ImageKnife全局占位符 onCreate() {
}, globalThis.ImageKnife = ImageKnife.with(this.context);
onCreate() { }
this.data.imageKnife = ImageKnife.with();// ImageKnife占位符全局初始化赋值
}
} }
``` ```
2.参考[推荐使用](###'推荐使用')或[自定义实现](###'自定义实现') 2.参考[推荐使用](###'推荐使用')或[自定义实现](###'自定义实现')
#### 推荐使用: #### 推荐使用:
使用ImageKnifeOption作为入参配合自定义组件ImageKnifeComponent使用。 使用ImageKnifeOption作为入参配合自定义组件ImageKnifeComponent使用。
@ -82,7 +79,7 @@ struct Index {
```typescript ```typescript
export default class PixelMapPack{ export default class PixelMapPack{
pixelMap:PixelMap; pixelMap:PixelMap;
} }
``` ```
@ -113,7 +110,7 @@ Image(this.imageKnifePixelMapPack.pixelMap)
```typescript ```typescript
//配置参数 //配置参数
let requestOptin = new RequestOption(); let requestOptin = new RequestOption();
//加载本地图片 //加载本地图片
requestOptin.load($r('app.media.jpgSample')) requestOptin.load($r('app.media.jpgSample'))
.addListener((err,data) => { .addListener((err,data) => {
//加载成功/失败回调监听 //加载成功/失败回调监听
@ -127,24 +124,24 @@ let requestOptin = new RequestOption();
.placeholder( $r('app.media.icon_loading'), (data)=>{ .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) => { .thumbnail(0.3, (data) => {
// 缩略图加载成功回调 // 缩略图加载成功回调
}) })
// 一定要把控件大小传给RequestOption,图片变换必须 // 一定要把控件大小传给RequestOption,图片变换必须
.setImageViewSize({width:200, height:200}) .setImageViewSize({width:200, height:200})
// 设置缓存策略 // 设置缓存策略
.diskCacheStrategy(new AUTOMATIC()) .diskCacheStrategy(new AUTOMATIC())
.addProgressListener((percentValue: string) => { .addProgressListener((percentValue: string) => {
// 图片网络加载进度条百分比回调 // 图片网络加载进度条百分比回调
}) })
.addRetryListener((error: any) => { .addRetryListener((error: any) => {
// 加载失败重试监听 图片加载失败时优先展示重试图层,点击重试图层,会重新进行一次加载流程 // 加载失败重试监听 图片加载失败时优先展示重试图层,点击重试图层,会重新进行一次加载流程
}) })
// 左上圆角10pixel像素点 // 左上圆角10pixel像素点
.roundedCorners({top:10}) .roundedCorners({top:10})
// 启动加载流程,执行结果将会返回到上面的回调接口中 // 启动加载流程,执行结果将会返回到上面的回调接口中
ImageKnife.call(requestOptin); ImageKnife.call(requestOptin);
``` ```
@ -212,10 +209,12 @@ let requestOptin = new RequestOption();
| request.roundedCorners() | RoundedCornersTransformation | 圆角剪裁 | | request.roundedCorners() | RoundedCornersTransformation | 圆角剪裁 |
| request.sepiaFilter() | SepiaFilterTransformation | 乌墨色滤波器 | | request.sepiaFilter() | SepiaFilterTransformation | 乌墨色滤波器 |
| request.sketchFilter() | SketchFilterTransformation | 素描滤波器 | | 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/ /imageknife/src/
- main/ets/components - main/ets/components
- cache # 缓存相关内容 - cache # 缓存相关内容
- diskstrategy # 缓存策略 - diskstrategy # 缓存策略
- key # 缓存key生成策略 - key # 缓存key生成策略
- Base64.ets # Base64算法 - Base64.ets # Base64算法
- CustomMap.ets # 自定义Map封装 - CustomMap.ets # 自定义Map封装
- DiskCacheEntry.ets# 磁盘缓存entry - DiskCacheEntry.ets# 磁盘缓存entry
- DiskLruCache.ets # 磁盘LRU缓存策略 - DiskLruCache.ets # 磁盘LRU缓存策略
- FileReader.ets # 文件读取相关 - FileReader.ets # 文件读取相关
- FileUtils.ets # 文件工具类 - FileUtils.ets # 文件工具类
- LruCache.ets # 内存LRU缓存策略 - LruCache.ets # 内存LRU缓存策略
- Md5.ets # MD5算法 - Md5.ets # MD5算法
- imageknife # imageknife主要内容 - imageknife # imageknife主要内容
- compress # 压缩相关 - compress # 压缩相关
- constants # 常量相关 - constants # 常量相关
- entry # 部分数据结构 - entry # 部分数据结构
- holder # 占位图相关解析 - holder # 占位图相关解析
- interface # 接口相关 - interface # 接口相关
- networkmanage # 网络相关 - networkmanage # 网络相关
- pngj # pngj相关 - pngj # pngj相关
- requestmanage # imageknife请求相关 - requestmanage # imageknife请求相关
- resourcemanage # 本地资源解析相关 - resourcemanage # 本地资源解析相关
- transform # 图片变换相关 - transform # 图片变换相关
- utils # 工具类相关 - utils # 工具类相关
- ImageKnife.ets # imageknife门面app持久化类 - ImageKnife.ets # imageknife门面app持久化类
- ImageKnifeData.ets # 数据封装 - ImageKnifeData.ets # 数据封装
- ImageKnifeComponent.ets # 自定义控件封装 - ImageKnifeComponent.ets # 自定义控件封装
- ImageKnifeOption.ets # 用户传参数封装 - ImageKnifeOption.ets # 用户传参数封装
- PixelMapPack.ets # PixelMap封装 - PixelMapPack.ets # PixelMap封装
- RequestOption.ets # 用户设置参数封装 - RequestOption.ets # 用户设置参数封装
/entry/src/ /entry/src/
- main/ets/MainAbility - main/ets/MainAbility
- pages # 测试page页面列表 - pages # 测试page页面列表
- basicTestFeatureAbilityPage.ets # 测试元能力 - basicTestFeatureAbilityPage.ets # 测试元能力
- basicTestFileIOPage.ets # 测试fileio - basicTestFileIOPage.ets # 测试fileio
- basicTestMediaImage.ets # 测试媒体image - basicTestMediaImage.ets # 测试媒体image
- basicTestResourceManagerPage.ets # 测试本地资源解析 - basicTestResourceManagerPage.ets # 测试本地资源解析
- compressPage.ets # 压缩页面 - compressPage.ets # 压缩页面
- frescoImageTestCasePage.ets # 测试属性动画组件切换 - cropImagePage.ets # 裁剪页面
- frescoLayerTestCasePage.ets # 测试ImageKnifeComponent组件切换配合属性动画 - cropImagePage2.ets # 手势裁剪页面
- frescoRetryTestCasePage.ets # 测试ImageKnifeComponent加载失败重试 - frescoImageTestCasePage.ets # 测试属性动画组件切换
- index.ets # 测试页面入口 - frescoLayerTestCasePage.ets # 测试ImageKnifeComponent组件切换配合属性动画
- indexFresco.ets # 二级测试页面入口 - frescoRetryTestCasePage.ets # 测试ImageKnifeComponent加载失败重试
- loadNetworkTestCasePage.ets # 网络加载测试 - index.ets # 测试页面入口
- loadResourceTestCasePage.ets # 本地加载测试 - indexFresco.ets # 二级测试页面入口
- showErrorholderTestCasePage.ets # 加载失败占位图测试 - loadNetworkTestCasePage.ets # 网络加载测试
- storageTestDiskLruCache.ets # 磁盘缓存测试 - loadResourceTestCasePage.ets # 本地加载测试
- storageTestLruCache.ets # 内存缓存测试 - showErrorholderTestCasePage.ets # 加载失败占位图测试
- testAllCacheInfoPage.ets # 所有缓存信息获取测试 - storageTestDiskLruCache.ets # 磁盘缓存测试
- testAllTypeImageKnifeComponentPage.ets # 所有类型图片加载测试 - storageTestLruCache.ets # 内存缓存测试
- testAllTypeNativeImagePage.ets # 所有类型本地图片加载测试 - testAllCacheInfoPage.ets # 所有缓存信息获取测试
- testGifDontAnimatePage.ets # gif加载静态图片测试 - testAllTypeImageKnifeComponentPage.ets # 所有类型图片加载测试
- testImageKnifeOptionChangedPage.ets # ImageKnifeOption数据切换测试 - testAllTypeNativeImagePage.ets # 所有类型本地图片加载测试
- testImageKnifeOptionChangedPage2.ets # ImageKnifeOption数据切换测试 - testGifDontAnimatePage.ets # gif加载静态图片测试
- testMultiThreadWorkerPage2.ets # 多线程测试 - testImageKnifeOptionChangedPage.ets # ImageKnifeOption数据切换测试
- testPlaceholderPage.ets # 加载占位图测试 - testImageKnifeOptionChangedPage2.ets # ImageKnifeOption数据切换测试
- testPreloadPage.ets # 预加载测试 - testMultiThreadWorkerPage2.ets # 多线程测试
- testResourceManagerPage.ets # 解析本地资源测试 - testPlaceholderPage.ets # 加载占位图测试
- transformPixelMapPage.ets # 所有类型变换测试 - testPreloadPage.ets # 预加载测试
- transformTestCasePage.ets # 所有类型变换配合ImageKnifeComponent测试 - testResourceManagerPage.ets # 解析本地资源测试
- transformPixelMapPage.ets # 所有类型变换测试
- transformTestCasePage.ets # 所有类型变换配合ImageKnifeComponent测试
- workers # 测试worker多线程 - workers # 测试worker多线程
- worker1.js # worker多线程测试 - worker1.js # worker多线程测试
``` ```
## 贡献代码 ## 贡献代码

View File

@ -1,21 +1,7 @@
{ {
"app": { "app": {
"signingConfigs": [ "compileSdkVersion": 9,
{ "compatibleSdkVersion": 9,
"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,
"products": [ "products": [
{ {
"name": "default", "name": "default",
@ -39,6 +25,10 @@
{ {
"name": "imageknife", "name": "imageknife",
"srcPath": "./imageknife" "srcPath": "./imageknife"
},
{
"name": "disklrucache",
"srcPath": "./disklrucache"
} }
] ]
} }

View File

@ -1,2 +1,2 @@
// Script for compiling build behavior. It is built in the build plug-in and cannot be modified currently. // 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 module.exports = require('@ohos/hvigor-ohos-plugin').appTasks

View File

@ -1,18 +1,19 @@
{ {
"license": "ISC", "license":"ISC",
"devDependencies": {}, "devDependencies":{},
"name": "imageknifegiteepro", "name":"imageknife",
"ohos": { "ohos":{
"org": "huawei", "org":"huawei",
"directoryLevel": "project", "directoryLevel":"project",
"buildTool": "hvigor" "buildTool":"hvigor"
}, },
"description": "example description", "description":"example description",
"repository": {}, "repository":{},
"version": "1.0.0", "version":"1.0.0",
"dependencies": { "dependencies":{
"@ohos/hvigor-ohos-plugin": "1.0.6", "@ohos/hypium":"1.0.1",
"hypium": "^1.0.0", "@ohos/hvigor-ohos-plugin":"1.1.6",
"@ohos/hvigor": "1.0.6" "hypium":"^1.0.0",
"@ohos/hvigor":"1.1.6"
} }
} }