imageKnife支持heic图片解析

This commit is contained in:
18829029633 2024-04-11 15:00:06 +08:00
parent 80550c27a6
commit 514e257924
3 changed files with 23 additions and 2 deletions

View File

@ -45,6 +45,15 @@ struct IndexFunctionDemo {
headerOption: [this.headerOptions1] headerOption: [this.headerOptions1]
}; };
@State imageKnifeOption3: ImageKnifeOption =
{
loadSrc: $r('app.media.yunHeic'),
placeholderSrc: $r('app.media.icon_loading'),
errorholderSrc: $r('app.media.icon_failed'),
};
@State flag: boolean = true;
build() { build() {
Scroll() { Scroll() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
@ -84,6 +93,15 @@ struct IndexFunctionDemo {
router.pushUrl({ url: "pages/imageknifeTestCaseIndex" }); router.pushUrl({ url: "pages/imageknifeTestCaseIndex" });
}).margin({ top: 15 }) }).margin({ top: 15 })
}.width('100%').height(60).backgroundColor(Color.Pink) }.width('100%').height(60).backgroundColor(Color.Pink)
Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Button("heic图片测试")
.onClick(() => {
this.flag = !this.flag
}).margin({ top: 15 })
ImageKnifeComponent({ imageKnifeOption: this.imageKnifeOption3 }).width(300).height(300)
.visibility(this.flag ? Visibility.Hidden : Visibility.Visible)
}.width('100%').height(60).backgroundColor(Color.Pink)
} }
} }
.width('100%') .width('100%')

Binary file not shown.

View File

@ -26,6 +26,7 @@ export class FileTypeUtil {
'webp': [new Uint8Array([0x52, 0x49, 0x46, 0x46])], 'webp': [new Uint8Array([0x52, 0x49, 0x46, 0x46])],
'tiff': [new Uint8Array([0x49, 0x20, 0x49]), new Uint8Array([0x49, 0x49, 0x2A, 0x00]), new Uint8Array([0x4D, 0x4D, 0x00, 0x2A]), new Uint8Array([0x4D, 0x4D, 0x00, 0x2B])], 'tiff': [new Uint8Array([0x49, 0x20, 0x49]), new Uint8Array([0x49, 0x49, 0x2A, 0x00]), new Uint8Array([0x4D, 0x4D, 0x00, 0x2A]), new Uint8Array([0x4D, 0x4D, 0x00, 0x2B])],
// 添加更多的文件类型和特征 // 添加更多的文件类型和特征
'heic': [new Uint8Array([0x00, 0x00, 0x00, 0x18, 0x66, 0x74, 0x79, 0x70, 0x68, 0x65, 0x69, 0x63, 0x00, 0x00, 0x00, 0x00])],
}; };
@ -41,7 +42,8 @@ export class FileTypeUtil {
value == SupportFormat.webp || value == SupportFormat.webp ||
value == SupportFormat.bmp || value == SupportFormat.bmp ||
value == SupportFormat.gif || value == SupportFormat.gif ||
value == SupportFormat.svg value == SupportFormat.svg ||
value == SupportFormat.heic
) { ) {
return true; return true;
} }
@ -106,5 +108,6 @@ export enum SupportFormat {
bmp = 'bmp', bmp = 'bmp',
gif = 'gif', gif = 'gif',
svg = 'svg', svg = 'svg',
tiff = 'tiff' tiff = 'tiff',
heic = 'heic'
} }