Skip to content

Failed to load image: HEIC file disguised with .png extension (ftyp heic) #81

Description

@zf19871001

Environment:
Software Version: voidImageViewer 1.0.0.15
OS: Windows 10/11
Description:
I encountered a "Failed to load image" error when trying to open a specific PNG file saved from the Douyin (TikTok) app.
Root Cause Analysis:
I performed a hex dump of the file and found that it is not a standard PNG. The file header clearly indicates it is an HEIC image wrapped with a .png extension.
The hex dump of the file header is as follows:
00 00 00 1C 66 74 79 70 68 65 69 63 00 00 00 00 6D 69 66 31...
Offset 0x04: 66 74 79 70 (ftyp)
Offset 0x08: 68 65 69 63 (heic)
Offset 0x10: 6D 69 66 31 (mif1)
It appears the Douyin app saves images in the HEIF/HEIC container format but forces the .png file extension. Since voidImageViewer relies on native Windows APIs and expects a standard PNG signature (89 50 4E 47), it fails to decode this ISOBMFF-based HEIC file.
Suggestion:
It would be great if voidImageViewer could implement a fallback mechanism to detect the ftyp heic signature and attempt to decode it using the system's built-in HEIF codec (similar to how Windows Photos handles it), or at least provide a more specific error message indicating a format mismatch.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions