From 24084832115a8fa079d1eba645b0dea2346e3420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=8E=E6=9C=88=E6=B8=85=E9=A3=8E?= Date: Thu, 14 Dec 2023 16:28:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AF=B4=E6=98=8E=EF=BC=9A?= =?UTF-8?q?=20=E5=BC=80=E6=94=BE.jpg=20.png=20.gif=E8=A7=A3=E7=A0=81?= =?UTF-8?q?=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 明月清风 --- AppScope/app.json5 | 2 +- CHANGELOG.md | 6 +- entry/oh-package.json5 | 2 +- library/oh-package.json5 | 2 +- .../imageknife/utils/ParseImageUtil.ets | 52 ++++++------ .../imageknife/utils/gif/GIFParseImpl.ets | 80 +++++++++---------- oh-package.json5 | 2 +- 7 files changed, 75 insertions(+), 71 deletions(-) diff --git a/AppScope/app.json5 b/AppScope/app.json5 index b4378b4..4819fe9 100644 --- a/AppScope/app.json5 +++ b/AppScope/app.json5 @@ -3,7 +3,7 @@ "bundleName": "com.openharmony.imageknife", "vendor": "example", "versionCode": 1000000, - "versionName": "2.1.1", + "versionName": "2.1.2-rc.0", "icon": "$media:app_icon", "label": "$string:app_name", "distributedNotificationEnabled": true diff --git a/CHANGELOG.md b/CHANGELOG.md index 60275f5..1383766 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ +## 2.1.2-rc.0 +- 开放.jpg .png .gif解码能力 + + ## 2.1.1 - 屏蔽了taskpool解码能力 -- 2.1.1正式版本发步 +- 2.1.1正式版本发布 ## 2.1.1-rc.5 - .jpg .png .gif解码功能使用taskpool实现 diff --git a/entry/oh-package.json5 b/entry/oh-package.json5 index 1201454..b55d6bf 100644 --- a/entry/oh-package.json5 +++ b/entry/oh-package.json5 @@ -4,7 +4,7 @@ "name": "entry", "description": "example description", "repository": {}, - "version": "2.1.1", + "version": "2.1.2-rc.0", "dependencies": { "@ohos/libraryimageknife": "file:../sharedlibrary", "@ohos/disklrucache": "^2.0.2-rc.0", diff --git a/library/oh-package.json5 b/library/oh-package.json5 index ae10540..eb2c0eb 100644 --- a/library/oh-package.json5 +++ b/library/oh-package.json5 @@ -14,7 +14,7 @@ "main": "index.ets", "repository": "https://gitee.com/openharmony-tpc/ImageKnife", "type": "module", - "version": "2.1.1", + "version": "2.1.2-rc.0", "dependencies": { "pako": "^2.1.0", "@ohos/disklrucache": "^2.0.2-rc.0", diff --git a/library/src/main/ets/components/imageknife/utils/ParseImageUtil.ets b/library/src/main/ets/components/imageknife/utils/ParseImageUtil.ets index dd5b33d..6c084da 100644 --- a/library/src/main/ets/components/imageknife/utils/ParseImageUtil.ets +++ b/library/src/main/ets/components/imageknife/utils/ParseImageUtil.ets @@ -27,33 +27,33 @@ export class ParseImageUtil implements IParseImage { // scale(0,1) parseImageThumbnail(scale: number, imageinfo: ArrayBuffer, onCompleteFunction: (value: PixelMap) => void | PromiseLike, onErrorFunction: (reason?: BusinessError | string) => void) { - let imageSource: image.ImageSource = image.createImageSource(imageinfo); // 步骤一:文件转为pixelMap 然后变换 给Image组件 - imageSource.getImageInfo().then((value) => { - let hValue = Math.round(value.size.height * scale); - let wValue = Math.round(value.size.width * scale); - let defaultSize: image.Size = { - height: hValue, - width: wValue - }; - let opts: image.DecodingOptions = { - editable: true, - desiredSize: defaultSize - }; + // let imageSource: image.ImageSource = image.createImageSource(imageinfo); // 步骤一:文件转为pixelMap 然后变换 给Image组件 + // imageSource.getImageInfo().then((value) => { + // let hValue = Math.round(value.size.height * scale); + // let wValue = Math.round(value.size.width * scale); + // let defaultSize: image.Size = { + // height: hValue, + // width: wValue + // }; + // let opts: image.DecodingOptions = { + // editable: true, + // desiredSize: defaultSize + // }; + // + // imageSource.createPixelMap(opts).then((pixelMap: image.PixelMap) => { + // onCompleteFunction(pixelMap); + // imageSource.release() + // }).catch((err: string) => { + // onErrorFunction(err); + // imageSource.release() + // }) + // + // }).catch((err: string) => { + // onErrorFunction(err); + // imageSource.release() + // }) - imageSource.createPixelMap(opts).then((pixelMap: image.PixelMap) => { - onCompleteFunction(pixelMap); - imageSource.release() - }).catch((err: string) => { - onErrorFunction(err); - imageSource.release() - }) - - }).catch((err: string) => { - onErrorFunction(err); - imageSource.release() - }) - - // taskPoolExecutePixelMap(imageinfo,scale,onCompleteFunction,onErrorFunction); //多线程接口 + taskPoolExecutePixelMap(imageinfo,scale,onCompleteFunction,onErrorFunction); //多线程接口 } } diff --git a/library/src/main/ets/components/imageknife/utils/gif/GIFParseImpl.ets b/library/src/main/ets/components/imageknife/utils/gif/GIFParseImpl.ets index 43f7bf4..8bfa998 100644 --- a/library/src/main/ets/components/imageknife/utils/gif/GIFParseImpl.ets +++ b/library/src/main/ets/components/imageknife/utils/gif/GIFParseImpl.ets @@ -36,46 +36,46 @@ export interface gifBackData { export class GIFParseImpl implements IParseGif { parseGifs(imageinfo: ArrayBuffer, callback: (data?: GIFFrame[], err?: BusinessError | string) => void) { // 硬解码流程 - let imageSource = image.createImageSource(imageinfo); - let decodeOpts: image.DecodingOptions = { - sampleSize: 1, - editable: true, - rotate: 0 - } - let data:GIFFrame[] = []; - imageSource.createPixelMapList(decodeOpts).then((pixelList: Array) => { - //sdk的api接口发生变更:从.getDelayTime() 变为.getDelayTimeList() - imageSource.getDelayTimeList().then(delayTimes => { - if (pixelList.length > 0) { - let pixelmap1 = pixelList[0]; - pixelmap1.getImageInfo().then(imageInfo => { - for (let i = 0; i < pixelList.length; i++) { - let frame = new GIFFrame(); - frame.drawPixelMap = pixelList[i]; - frame.dims = { width: imageInfo.size.width, height: imageInfo.size.height, top: 0, left: 0 } - if (i < delayTimes.length) { - frame.delay = delayTimes[i]; - } else { - frame.delay = delayTimes[delayTimes.length - 1] - } - data.push(frame) - } - callback(data,undefined) - imageSource.release(); - }).catch((err: string) => { - imageSource.release(); - callback(undefined,err) - }) - } - }).catch((err: string) => { - imageSource.release(); - callback(undefined,err) - }) - }).catch((err: string) => { - imageSource.release(); - callback(undefined,err) - }) - // taskPoolExecutePixelMapList(imageinfo,callback); //多线程接口 + // let imageSource = image.createImageSource(imageinfo); + // let decodeOpts: image.DecodingOptions = { + // sampleSize: 1, + // editable: true, + // rotate: 0 + // } + // let data:GIFFrame[] = []; + // imageSource.createPixelMapList(decodeOpts).then((pixelList: Array) => { + // //sdk的api接口发生变更:从.getDelayTime() 变为.getDelayTimeList() + // imageSource.getDelayTimeList().then(delayTimes => { + // if (pixelList.length > 0) { + // let pixelmap1 = pixelList[0]; + // pixelmap1.getImageInfo().then(imageInfo => { + // for (let i = 0; i < pixelList.length; i++) { + // let frame = new GIFFrame(); + // frame.drawPixelMap = pixelList[i]; + // frame.dims = { width: imageInfo.size.width, height: imageInfo.size.height, top: 0, left: 0 } + // if (i < delayTimes.length) { + // frame.delay = delayTimes[i]; + // } else { + // frame.delay = delayTimes[delayTimes.length - 1] + // } + // data.push(frame) + // } + // callback(data,undefined) + // imageSource.release(); + // }).catch((err: string) => { + // imageSource.release(); + // callback(undefined,err) + // }) + // } + // }).catch((err: string) => { + // imageSource.release(); + // callback(undefined,err) + // }) + // }).catch((err: string) => { + // imageSource.release(); + // callback(undefined,err) + // }) + taskPoolExecutePixelMapList(imageinfo,callback); //多线程接口 } } diff --git a/oh-package.json5 b/oh-package.json5 index 721dfc5..61d67e8 100644 --- a/oh-package.json5 +++ b/oh-package.json5 @@ -6,6 +6,6 @@ "name": "imageknife", "description": "example description", "repository": {}, - "version": "2.1.1", + "version": "2.1.2-rc.0", "dependencies": {} }