Ikon: cari per domain/URL gambar + semua format dikonversi ke PNG

- Dialog ikon: nama aplikasi -> Iconify; domain (mikrotik.com) -> ikon resmi situs
  (manifest 512, apple-touch-icon, favicon) + layanan favicon; URL gambar -> langsung
- Contoh kasus: 'winbox' cuma punya 1 ikon tidak nyambung di Iconify, tapi
  'mikrotik.com' memberi ikon resminya (5 pilihan, semuanya PNG)
- Decoder ICO: entri BMP 24/32-bit (favicon.ico lama) ikut didukung, bukan cuma PNG
- FromURL/Fetch selalu mengembalikan PNG; hasil raster/konversi seragam 512px
- Tes: deteksi URL gambar/domain, daftar ikon situs, decode ICO BMP, konversi format
This commit is contained in:
oxpoe committed 2026-10-13 08:00:12 +07:00
1 parent cad41caaee
commit 59145910b5
9 files changed
+441 -33

No files matched your search

+3 -3
View File
@@ -86,9 +86,9 @@ func ToPNG(data []byte) ([]byte, error) {
return encodePNG(img)
}
// ico bisa berisi PNG langsung
if png := largestPNGFromICO(data); png != nil {
return png, nil
// ico: bisa berisi PNG langsung atau gambar BMP di dalamnya
if img, err := decodeICO(data); err == nil {
return encodePNG(img)
}
return nil, errors.New("format ikon tidak didukung")
}