diff --git a/CHANGELOG.md b/CHANGELOG.md index dcad63b..be37275 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## 3.0.0-rc.7 - 修复成功回调获取不到宽高 +- 新增svg图片解码 ## 3.0.0-rc.6 - 支持多种组合变换 diff --git a/entry/src/main/ets/pages/SingleImage.ets b/entry/src/main/ets/pages/SingleImage.ets index c71f7bf..0aaee97 100644 --- a/entry/src/main/ets/pages/SingleImage.ets +++ b/entry/src/main/ets/pages/SingleImage.ets @@ -38,12 +38,12 @@ struct SingleImage { build() { Scroll(this.scroller) { Column() { - Text("本地资源图片") + Text("本地资源svg图片") .fontSize(30) .fontWeight(FontWeight.Bold) ImageKnifeComponent({ imageKnifeOption: { - loadSrc: $r("app.media.app_icon"), + loadSrc: $r("app.media.svgSample"), placeholderSrc: $r("app.media.loading"), errorholderSrc: $r("app.media.failed"), objectFit: ImageFit.Contain diff --git a/entry/src/main/resources/base/media/svgSample.svg b/entry/src/main/resources/base/media/svgSample.svg new file mode 100644 index 0000000..dab8c8e --- /dev/null +++ b/entry/src/main/resources/base/media/svgSample.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/library/src/main/ets/ImageKnifeDispatcher.ets b/library/src/main/ets/ImageKnifeDispatcher.ets index 9eb9609..ca22f0e 100644 --- a/library/src/main/ets/ImageKnifeDispatcher.ets +++ b/library/src/main/ets/ImageKnifeDispatcher.ets @@ -510,6 +510,12 @@ async function requestJob(request: RequestJobRequest, requestList?: List { + resPixelmap = pixelmap + imageSource.release() + }) + return { + pixelMap: resPixelmap, + bufferSize: bufferSize, + fileKey: fileKey, + }; } - - let imageSource: image.ImageSource = image.createImageSource(resBuf); - let decodingOptions: image.DecodingOptions = { - editable: true, - } - - let resPixelmap: PixelMap | undefined = undefined let size = (await imageSource.getImageInfo()).size await imageSource.createPixelMap(decodingOptions) .then((pixelmap: PixelMap) => {