绘制图片调用getImageInfo改用同步接口getImageInfoSync和删除running队列设置log开关

Signed-off-by: zenggaofeng <zenggaofeng2@h-partners.com>
This commit is contained in:
zenggaofeng 2024-03-14 19:18:15 +08:00
parent e271199f19
commit 815c2273a7
3 changed files with 73 additions and 15 deletions

View File

@ -2,6 +2,8 @@
- 修复概率出现jscrash问题
- 修复进度条问题
- 修复单帧gif图片加载失败
- removeRunning删除running队列log设置开关
- 绘制图片调用getImageInfo改用同步接口getImageInfoSync
## 2.1.2-rc.10
- 修复部分gif图片识别成静态图

View File

@ -416,7 +416,7 @@ export class ImageKnife {
} else {
this.runningMaps.remove(request.uuid);
console.log('dodo runningMaps length =' + this.runningMaps.size())
LogUtil.log('dodo runningMaps length =' + this.runningMaps.size())
let previousRequest = request;
this.loadNextPending(previousRequest);
}

View File

@ -474,8 +474,9 @@ export struct ImageKnifeComponent {
drawPlaceholder(context: CanvasRenderingContext2D, data: ImageKnifeData, imageKnifeOption: ImageKnifeOption, compWidth: number, compHeight: number, setGifTimeId?: (timeId: number) => void) {
LogUtil.log('ImageKnifeComponent default drawPlaceholder start!')
data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
// API12 getImageInfoSync同步
if(data.drawPixelMap?.imagePixelMap != undefined) {
let imageInfo = data.drawPixelMap?.imagePixelMap.getImageInfoSync()
LogUtil.log('ImageKnifeComponent imageinfo width =' + imageInfo.size.width + ' height=' + imageInfo.size.height)
let scaleType = (typeof imageKnifeOption.placeholderScaleType == 'number') ? imageKnifeOption.placeholderScaleType : ScaleType.FIT_CENTER
context.save();
@ -483,7 +484,17 @@ export struct ImageKnifeComponent {
ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0)
context.restore();
LogUtil.log('ImageKnifeComponent default drawPlaceholder end!')
})
}
// getImageInfo异步
// data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
// LogUtil.log('ImageKnifeComponent imageinfo width =' + imageInfo.size.width + ' height=' + imageInfo.size.height)
// let scaleType = (typeof imageKnifeOption.placeholderScaleType == 'number') ? imageKnifeOption.placeholderScaleType : ScaleType.FIT_CENTER
// context.save();
// context.clearRect(0, 0, compWidth, compHeight)
// ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0)
// context.restore();
// LogUtil.log('ImageKnifeComponent default drawPlaceholder end!')
// })
}
drawProgress(context: CanvasRenderingContext2D, progress: number, imageKnifeOption: ImageKnifeOption, compWidth: number, compHeight: number, setGifTimeId?: (timeId: number) => void) {
@ -529,8 +540,9 @@ export struct ImageKnifeComponent {
drawThumbSizeMultiplier(context: CanvasRenderingContext2D, data: ImageKnifeData, imageKnifeOption: ImageKnifeOption, compWidth: number, compHeight: number, setGifTimeId?: (timeId: number) => void) {
LogUtil.log('ImageKnifeComponent default drawThumbSizeMultiplier start!')
data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
// API12 getImageInfoSync同步
if(data.drawPixelMap?.imagePixelMap != undefined) {
let imageInfo = data.drawPixelMap?.imagePixelMap.getImageInfoSync()
LogUtil.log('ImageKnifeComponent imageinfo width =' + imageInfo.size.width + ' height=' + imageInfo.size.height)
let scaleType = (typeof imageKnifeOption.thumbSizeMultiplierScaleType == 'number') ? imageKnifeOption.thumbSizeMultiplierScaleType : ScaleType.FIT_CENTER
context.save();
@ -538,13 +550,25 @@ export struct ImageKnifeComponent {
ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0)
context.restore();
LogUtil.log('ImageKnifeComponent default drawThumbSizeMultiplier end!')
})
}
// getImageInfo异步
// data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
// LogUtil.log('ImageKnifeComponent imageinfo width =' + imageInfo.size.width + ' height=' + imageInfo.size.height)
// let scaleType = (typeof imageKnifeOption.thumbSizeMultiplierScaleType == 'number') ? imageKnifeOption.thumbSizeMultiplierScaleType : ScaleType.FIT_CENTER
// context.save();
// context.clearRect(0, 0, compWidth, compHeight)
// ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0)
// context.restore();
// LogUtil.log('ImageKnifeComponent default drawThumbSizeMultiplier end!')
// })
}
drawMainSource(context: CanvasRenderingContext2D, data: ImageKnifeData, imageKnifeOption: ImageKnifeOption, compWidth: number, compHeight: number, setGifTimeId?: (timeId: number) => void) {
LogUtil.log('ImageKnifeComponent default drawMainSource start!')
if (data.isPixelMap()) {
data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
// API12 getImageInfoSync同步
if(data.drawPixelMap?.imagePixelMap != undefined) {
let imageInfo = data.drawPixelMap?.imagePixelMap.getImageInfoSync()
let scaleType = (typeof imageKnifeOption.mainScaleType == 'number') ? imageKnifeOption.mainScaleType : ScaleType.FIT_CENTER
LogUtil.log('ImageKnifeComponent imageinfo width =' + imageInfo.size.width + ' height=' + imageInfo.size.height + 'scaleType=' + scaleType)
context.save();
@ -552,7 +576,17 @@ export struct ImageKnifeComponent {
ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0)
context.restore();
LogUtil.log('ImageKnifeComponent default drawMainSource end!')
})
}
// getImageInfo异步
// data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
// let scaleType = (typeof imageKnifeOption.mainScaleType == 'number') ? imageKnifeOption.mainScaleType : ScaleType.FIT_CENTER
// LogUtil.log('ImageKnifeComponent imageinfo width =' + imageInfo.size.width + ' height=' + imageInfo.size.height + 'scaleType=' + scaleType)
// context.save();
// context.clearRect(0, 0, compWidth, compHeight)
// ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0)
// context.restore();
// LogUtil.log('ImageKnifeComponent default drawMainSource end!')
// })
if (data.drawPixelMap != undefined) {
data.drawPixelMap.isShowOnComponent = true;
this.detachFromLayoutPixelMap = data.drawPixelMap.detachFromLayoutPixelMap;
@ -568,8 +602,9 @@ export struct ImageKnifeComponent {
drawRetryholder(context: CanvasRenderingContext2D, data: ImageKnifeData, imageKnifeOption: ImageKnifeOption, compWidth: number, compHeight: number, setGifTimeId?: (timeId: number) => void) {
LogUtil.log('ImageKnifeComponent default drawRetryholder start!')
data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
// API12 getImageInfoSync同步
if(data.drawPixelMap?.imagePixelMap != undefined) {
let imageInfo = data.drawPixelMap?.imagePixelMap.getImageInfoSync()
LogUtil.log('ImageKnifeComponent imageinfo width =' + imageInfo.size.width + ' height=' + imageInfo.size.height)
let scaleType = (typeof imageKnifeOption.retryholderScaleType == 'number') ? imageKnifeOption.retryholderScaleType : ScaleType.FIT_CENTER
context.save();
@ -577,13 +612,24 @@ export struct ImageKnifeComponent {
ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0)
context.restore();
LogUtil.log('ImageKnifeComponent default drawRetryholder end!')
})
}
// getImageInfo异步
// data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
// LogUtil.log('ImageKnifeComponent imageinfo width =' + imageInfo.size.width + ' height=' + imageInfo.size.height)
// let scaleType = (typeof imageKnifeOption.retryholderScaleType == 'number') ? imageKnifeOption.retryholderScaleType : ScaleType.FIT_CENTER
// context.save();
// context.clearRect(0, 0, compWidth, compHeight)
// ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0)
// context.restore();
// LogUtil.log('ImageKnifeComponent default drawRetryholder end!')
// })
}
drawErrorholder(context: CanvasRenderingContext2D, data: ImageKnifeData, imageKnifeOption: ImageKnifeOption, compWidth: number, compHeight: number, setGifTimeId?: (timeId: number) => void) {
LogUtil.log('ImageKnifeComponent default drawErrorholder start!')
data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
// API12 getImageInfoSync同步
if(data.drawPixelMap?.imagePixelMap != undefined) {
let imageInfo = data.drawPixelMap?.imagePixelMap.getImageInfoSync()
LogUtil.log('ImageKnifeComponent imageinfo width =' + imageInfo.size.width + ' height=' + imageInfo.size.height)
let scaleType = (typeof imageKnifeOption.errorholderSrcScaleType == 'number') ? imageKnifeOption.errorholderSrcScaleType : ScaleType.FIT_CENTER
context.save();
@ -591,7 +637,17 @@ export struct ImageKnifeComponent {
ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0)
context.restore();
LogUtil.log('ImageKnifeComponent default drawErrorholder end!')
})
}
// getImageInfo异步
// data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
// LogUtil.log('ImageKnifeComponent imageinfo width =' + imageInfo.size.width + ' height=' + imageInfo.size.height)
// let scaleType = (typeof imageKnifeOption.errorholderSrcScaleType == 'number') ? imageKnifeOption.errorholderSrcScaleType : ScaleType.FIT_CENTER
// context.save();
// context.clearRect(0, 0, compWidth, compHeight)
// ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0)
// context.restore();
// LogUtil.log('ImageKnifeComponent default drawErrorholder end!')
// })
}
requestAddTransform(request: RequestOption) {