跳过网络,从内存中取图片,接口说明文档

Signed-off-by: ‘面条侠’ <‘wangxinxin51@h-partners.com’>
This commit is contained in:
‘面条侠’ 2024-04-07 15:42:30 +08:00
parent 021a6e42f6
commit 4fba7e9191
1 changed files with 37 additions and 45 deletions

View File

@ -54,57 +54,50 @@ struct testImageKnifeCache {
placeholderSrc: $r('app.media.icon_loading'),
errorholderSrc: $r('app.media.icon_failed')
};
hasUrlCache(url: string, cacheType: CacheType = CacheType.Default, size: Size = {
width: 0,
height: 0
}) {
imageKnife?.isUrlExist(url, cacheType, size).then((data: ImageKnifeData) => {
clearTimeout(this.timeId);
if (data.isPixelMap()) {
if (data.drawPixelMap) {
let pixelmap = data.drawPixelMap.imagePixelMap
if (pixelmap) {
if (this.index_ == 1) {
this.imagePixelMap = pixelmap;
} else if (this.index_ == 2) {
this.imagePixelMap_ = pixelmap;
}
loadSuccess = (data: ImageKnifeData) => {
clearTimeout(this.timeId);
if (data.isPixelMap()) {
if (data.drawPixelMap) {
let pixelmap = data.drawPixelMap.imagePixelMap
if (pixelmap) {
if (this.index_ == 1) {
this.imagePixelMap = pixelmap;
} else if (this.index_ == 2) {
this.imagePixelMap_ = pixelmap;
}
}
}
if (data.isGIFFrame()) {
let index: number = 0
if (data.drawGIFFrame) {
if (data.drawGIFFrame.imageGIFFrames) {
let renderGif = () => {
if (data.drawGIFFrame) {
if (data.drawGIFFrame.imageGIFFrames) {
let pixelmap = data.drawGIFFrame.imageGIFFrames[index].drawPixelMap
let delay = data.drawGIFFrame.imageGIFFrames[index].delay
if (pixelmap) {
if (this.index_ == 1) {
this.imagePixelMap = pixelmap;
} else if (this.index_ == 2) {
this.imagePixelMap_ = pixelmap;
}
}
if (data.isGIFFrame()) {
let index: number = 0
if (data.drawGIFFrame) {
if (data.drawGIFFrame.imageGIFFrames) {
let renderGif = () => {
if (data.drawGIFFrame) {
if (data.drawGIFFrame.imageGIFFrames) {
let pixelmap = data.drawGIFFrame.imageGIFFrames[index].drawPixelMap
let delay = data.drawGIFFrame.imageGIFFrames[index].delay
if (pixelmap) {
if (this.index_ == 1) {
this.imagePixelMap = pixelmap;
} else if (this.index_ == 2) {
this.imagePixelMap_ = pixelmap;
}
index++;
if (index == data.drawGIFFrame.imageGIFFrames.length - 1) {
index = 0
}
this.timeId = setTimeout(renderGif, data!.drawGIFFrame!.imageGIFFrames![index].delay)
}
index++;
if (index == data.drawGIFFrame.imageGIFFrames.length - 1) {
index = 0
}
this.timeId = setTimeout(renderGif, data!.drawGIFFrame!.imageGIFFrames![index].delay)
}
}
renderGif()
}
renderGif()
}
}
}).catch((err: BusinessError) => {
});
}
}
loadError = (err: BusinessError) => {
}
build() {
@ -192,20 +185,19 @@ struct testImageKnifeCache {
Button('缓存图片')
.onClick(() => {
this.index_ = 1;
this.hasUrlCache(this.url, CacheType.Cache, this.comSize);
imageKnife?.isUrlExist(this.url, CacheType.Cache, this.comSize);
})
Button('磁盘图片')
.onClick(() => {
this.index_ = 2;
this.hasUrlCache(this.url, CacheType.Disk, this.comSize);
imageKnife?.isUrlExist(this.url, CacheType.Disk, this.comSize);
})
Button('默认')
.onClick(() => {
this.index_ = 2;
this.hasUrlCache(this.url);
imageKnife?.isUrlExist(this.url);
})
}