Skip to content

Supported File Types.zh.CN

paperhammer edited this page May 22, 2026 · 1 revision

支持的文件类型

文件类型 → 运行时类型映射

内部每个文件类型(FileType)对应一个运行时类型(RuntimeType),决定了渲染方式。理解这种映射有助于理解不同类型之间的行为差异。

壁纸类型 扩展名 FileType RuntimeType
静态图像 .jpg .jpeg .bmp .png .svg .webp FImage RImageRImage3D ¹
动态图像 .gif .apng FGif RImageRImage3D ¹
视频 .mp4 .webm FVideo RVideo
Web 交互型 .zip .rar .7z FWebZip RWeb

¹ 导入静态或动态图像时,会弹出对话框询问是否启用 3D 视差效果。选择是则触发深度估计(MiDaS),运行时类型设为 RImage3D。详见 AI 功能 中深度估计部分。

四种 RuntimeType 共用同一个播放器进程(VirtualPaper.PlayerWeb.exe),底层基于 WebView2 宿主。RVideo 禁用鼠标视差输入转发,其余三种启用。


文件校验

文件通过 魔数(文件头)进行校验,而非仅依赖扩展名。扩展名与实际内容不匹配的文件在导入时会被拒绝。

类型 校验的魔数
.jpg / .jpeg FF D8 FF
.bmp 42 4D
.png 89 50 4E 47 0D 0A 1A 0A
.svg 3C 73 76 67 (<svg) 或 3C 3F 78 6D (<?xm)
.gif 47 49 46 38 39 61 (GIF89a) 或 47 49 46 38 37 61 (GIF87a)
.mp4 66 74 79 70 (ftyp,偏移量 4)
.webm 1A 45 DF A3 (EBML)
.zip 50 4B 03 04 / 50 4B 05 06 / 50 4B 07 08
.rar 52 61 72 21 1A 07 (RAR4) 或 52 61 72 21 1A 07 01 00 (RAR5)
.7z 37 7A BC AF 27 1C

注意事项

  • Web 交互型 壁纸是嵌入到内置播放器壳中的 web 项目,无需实现 JS 回调。详见 Web 交互型壁纸 中所需的 project.json 清单和包结构。

  • SVG 作为静态图像通过 WebView2 渲染。SVG 排除在 AI 功能之外(风格迁移、超分辨率),因为 OpenCV 的 ImRead 无法解析矢量格式。

  • AI 功能(风格迁移、超分辨率)仅支持 .jpg .jpeg .png .bmp .webp —— 该子集内部标记为 FimageAI

  • 视频 在 WebView2 内部播放。硬件解码是否可用取决于系统 GPU 驱动和编解码器支持,不在 VirtualPaper 控制范围内。

  • .apng(动态 PNG)与 .gif 一同归类为 FGif,遵循相同的运行时路径。

Clone this wiki locally