diff --git a/entry/src/main/ets/pages/index.ets b/entry/src/main/ets/pages/index.ets index a36d77a..257f781 100644 --- a/entry/src/main/ets/pages/index.ets +++ b/entry/src/main/ets/pages/index.ets @@ -44,6 +44,14 @@ struct IndexFunctionDemo { errorholderSrc: $r('app.media.icon_failed'), 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() { Scroll() { @@ -84,6 +92,15 @@ struct IndexFunctionDemo { router.pushUrl({ url: "pages/imageknifeTestCaseIndex" }); }).margin({ top: 15 }) }.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%') diff --git a/entry/src/main/resources/base/media/yunHeic.heic b/entry/src/main/resources/base/media/yunHeic.heic new file mode 100644 index 0000000..161e3ca Binary files /dev/null and b/entry/src/main/resources/base/media/yunHeic.heic differ diff --git a/library/src/main/ets/components/imageknife/utils/FileTypeUtil.ets b/library/src/main/ets/components/imageknife/utils/FileTypeUtil.ets index 44e2b54..78e1cd7 100644 --- a/library/src/main/ets/components/imageknife/utils/FileTypeUtil.ets +++ b/library/src/main/ets/components/imageknife/utils/FileTypeUtil.ets @@ -26,6 +26,7 @@ export class FileTypeUtil { '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])], // 添加更多的文件类型和特征 + '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.bmp || value == SupportFormat.gif || - value == SupportFormat.svg + value == SupportFormat.svg || + value == SupportFormat.heic ) { return true; } @@ -106,5 +108,6 @@ export enum SupportFormat { bmp = 'bmp', gif = 'gif', svg = 'svg', - tiff = 'tiff' + tiff = 'tiff', + heic = 'heic' }