IcoJet图标手记
← 图标手记

PWA 图标被裁切或变成小白块,如何排查?

安装后的网页应用,可能需要 manifest 中声明的图标以及普通 favicon。启动器应用形状遮罩时,同一张图片可能呈现完全不同的效果。

准备 ICO 之外的应用素材

可从独立的 192×192、512×512 PNG 开始,再按目标平台补足要求。网页需要引用 manifest,并检查其中的 icons 条目。相对图标路径以 manifest 文件的网址为基准,移动该文件可能导致路径失效。IcoJet 最大输出 256px,不能代替 512px PNG。

真正按 maskable 规则设计

重要图案应位于图片中央、半径为宽度 40% 的圆形安全区内。背景延伸到画布边缘,安全区之外可能被裁掉。只有设计并验证过遮罩效果的图片,才应标记 purpose="maskable"。给贴边 Logo 换个标签,不能保护它的边角。

验证实际安装效果

使用浏览器的 manifest 检查和遮罩预览,再到目标设备安装测试。普通版本与 maskable 版本都要检查,并确认 manifest 指向最新文件。如果旧的已安装应用仍显示异常,先与一次全新测试安装比较,再决定是否修改原始图稿。

{
  "icons": [
    {
      "src": "/icons/app-192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "/icons/app-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/app-maskable-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "maskable"
    }
  ]
}
参考资料与延伸阅读 MDN — Manifest icons ↗web.dev — Web app manifest ↗

返回转换工具 ↗