diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e7310c..401950f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## 3.2.0 - Fix bug: PixelMap size exceeds the maximum value of memory cache and is not cached - Dealing with exception scenarios where imageSource.getImageInfo return undefined +- Fix inability to parse Resource format images of other modules ## 3.2.0-rc.2 - Added callback information for image loading @@ -20,6 +21,33 @@ - Fixed bug for receive only the first onLoadStart for concurrent identical requests - Modify the condition for determining whether to queue to be greater than or equal to maxRequests +## 3.1.1-rc.1 +- Photo reduction sampling + +## 3.1.1-rc.0 +- 重构代码:抽取ImageKnifeDispatcher子线程requestJob相关代码到ImageKnifeLoader中,降低函数复杂度 + +## 3.1.0 +- 部分静态webp图片有delay属性导致识别成动图,改用getFrameCount识别 +- 修复加载错误图后未去请求排队队列中的请求 +- 子线程本地Resource参数类型转换成number +- 修改使用hilog记录日志,默认打开debug级别的日志 +- file格式图片,fd同步close +- 解码pixelMap默认不可编辑,图形变化可编辑 +- 修改网络请求超时设置 + +## 3.1.0-rc.2 +- 修复宽高不等svg图片显示有毛边 + +## 3.1.0-rc.1 +- ImageKnifeAnimatorComponent新增开始、结束、暂停的回调事件 +- 文件缓存数量负数和超过INT最大值时默认为INT最大值 + +## 3.1.0-rc.0 +- ComponentV2装饰器适配 +- imageKnifeOption={...}用法改为new ImageKnifeOption({...}) +- animatorOption={...}用法改为new AnimatorOption({...}) + ## 3.0.3 - Released version 3.0.3 diff --git a/entry/src/main/ets/pages/SingleImage.ets b/entry/src/main/ets/pages/SingleImage.ets index 50f723b..1c73a6c 100644 --- a/entry/src/main/ets/pages/SingleImage.ets +++ b/entry/src/main/ets/pages/SingleImage.ets @@ -47,7 +47,7 @@ struct SingleImage { .fontWeight(FontWeight.Bold) ImageKnifeComponent({ imageKnifeOption: { - loadSrc: $r('app.media.svgSample'), + loadSrc: $r(this.resource), placeholderSrc: $r('app.media.loading'), errorholderSrc: $r('app.media.failed'), objectFit: ImageFit.Contain @@ -56,6 +56,14 @@ struct SingleImage { .onClick(()=>{ this.DrawingColorFilter = drawing.ColorFilter.createBlendModeColorFilter(this.color, drawing.BlendMode.SRC_IN); }) + ImageKnifeComponent({ + imageKnifeOption: { + loadSrc: $r('[sharedlibrary].media.pngSample'), + placeholderSrc: $r('app.media.loading'), + errorholderSrc: $r('app.media.failed'), + objectFit: ImageFit.Contain + } + }).width(100).height(100) Text($r('app.string.Under_context_file')) .fontSize(30) .fontWeight(FontWeight.Bold) diff --git a/library/src/main/ets/ImageKnifeLoader.ets b/library/src/main/ets/ImageKnifeLoader.ets index bbb57ce..70e5fb9 100644 --- a/library/src/main/ets/ImageKnifeLoader.ets +++ b/library/src/main/ets/ImageKnifeLoader.ets @@ -555,14 +555,14 @@ export class ImageKnifeLoader { if (resBuf == undefined && request.onlyRetrieveFromCache != true && request.requestSource == ImageKnifeRequestSource.SRC) { if(request.src == -1) { let resName = request.resName as string - resBuf = (await manager.getMediaByName(resName.substring(10))).buffer as ArrayBuffer + resBuf = (await manager.getMediaByName(resName.substring(resName.lastIndexOf(".") + 1))).buffer as ArrayBuffer } else { resBuf = manager.getMediaContentSync(request.src).buffer as ArrayBuffer } } else if (resBuf == undefined && request.requestSource != ImageKnifeRequestSource.SRC) { if(request.src == -1) { let resName = request.resName as string - resBuf = (await manager.getMediaByName(resName.substring(10))).buffer as ArrayBuffer + resBuf = (await manager.getMediaByName(resName.substring(resName.lastIndexOf(".") + 1))).buffer as ArrayBuffer } else { resBuf = manager.getMediaContentSync(request.src).buffer as ArrayBuffer } diff --git a/sharedlibrary/src/main/resources/base/media/pngSample.png b/sharedlibrary/src/main/resources/base/media/pngSample.png new file mode 100644 index 0000000..df4a140 Binary files /dev/null and b/sharedlibrary/src/main/resources/base/media/pngSample.png differ