Windows 10 semua resolusi ikon pada semua pengaturan DPI? Format? Seni piksel sebagai ikon? Ikon ukuran besar di menu mulai ubin sedang?

Lanjutkan saja ke jawaban di bagian jawaban, bagian pertanyaan terdapat spekulasi dan kesalahan. Jawabannya berdasarkan eksperimen dan akurat.

Untuk waktu yang lama saya telah menggunakan satu file ico 256px yang dikemas png untuk proyek Visual Studio saya, dan itu bekerja dengan baik, karena penskalaan berfungsi dengan baik pada ikon-ikon itu dan hampir tidak memakan ruang, dan saya tidak terlalu peduli sebelumnya.

Tapi sekarang saya memiliki ikon yang perlu "mempertahankan tepi yang keras", itu adalah "seni piksel". Jika saya membuat dengan versi 256 piksel, penurunan skalanya sangat buruk atau jika saya membangun dengan versi peningkatan 16 piksel, skalanya sedikit berkurang tetapi tidak cukup baik. Jadi pertanyaan saya adalah:

  1. Berapa ukuran yang harus saya hasilkan untuk digabungkan ke dalam ico (saya tidak peduli dengan ikon pra win7)?

  2. Jika saya mendapatkan daftar itu, apakah saya harus membuat versi 1,25x, 1,5x, dan 2,0x untuk pengaturan dpi tinggi?

  3. Terakhir, beberapa aplikasi seperti firefox memiliki ikon besar di menu mulai di dalam blok kotak sedang, aplikasi saya memiliki ikon lebih kecil di tengah seperti yang dimiliki Visual Studio, bagaimana saya bisa meletakkan ikon besar di kotak mulai menu berukuran sedang?

Saya menemukannya: Sayangnya VS mengatakan: VisualElements tidak didukung dalam proyek Windows Presentation Foundation (WPF). Apakah ada jalan keluarnya?

Saya melihat sekeliling dan mengumpulkan kemungkinan ukuran @1x(96DPI):
16, 20, 24, 30, 32, 40, 48, 50, 64, 128, 150, 256, 512, 768
Sebagian besar saya mengumpulkan ini dari Ikon mana ukuran yang harus disertakan pada ikon aplikasi Windows saya?.

Lumayan, tapi kalau saya tambahkan 1,25x, 1,5x, 2,0x maka kita mendapatkan:
16, 20, 24, 25, 30, 32, 36, 38, 40, 45, 48, 50, 60, 62, 64, 72, 75, 80, 96, 100, 128, 150, 160, 188, 192, 225, 256, 300, 320, 384, 512, 640, 768, 960, 1024, 1152, 1536< /em> Dalam kasus saya ini membuat file ico 500k dan tampaknya 1024 adalah resolusi maksimal yang dapat Anda masukkan ke dalam file ico, ikon saya berpiksel sehingga dikompres dengan sangat baik dengan png dan masih ~500k.

Saya juga membuat ico yang memiliki semua resolusi di atas dalam rgba, dan setiap resolusi memiliki ukurannya sendiri, sehingga Anda dapat melihat jendela mana yang memuat pengaturan dpi mana. Anda dapat mengunduhnya dari di sini dan menggunakannya dalam proyek vs untuk mengujinya.

Seperti yang saya pahami, semua yang ada di bawah 256px tidak dapat dikompresi png, apakah ini benar?

Dan apakah saya memerlukan semua ukuran ini untuk mempertahankan ikon piksel yang sempurna? Apakah hanya png 32bit (RGBA) yang oke? Saya harap saya tidak perlu memasukkan kedalaman lainnya.

Setelah saya menulis penulis ico dari spesifikasi saya menyadari bahwa png dapat memiliki 0 untuk resolusi karena 1 byte tersedia untuk x atau y (tetapi saya belum pernah melihat ico yang bukan persegi, mungkin kurs bisa juga bukan persegi), dalam hal ini case mungkin yang pertama dalam file dengan nol untuk resolusi yang akan digunakan...Ini tidak pasti tapi menurut saya itu tidak jauh dari kebenaran. Lihat gambar. Masalah penskalaan ulang masih membingungkan saya, jika saya punya waktu besok saya akan mengujinya. Ikon piksel sempurna tampaknya mustahil dilakukan: memiliki satu gambar untuk diubah skalanya menjadi lebih dari 256 piksel.


person z4k    schedule 22.11.2016    source sumber
comment
Sangat bagus jika Anda berusaha keras untuk menjawab pertanyaan Anda, namun perhatikan bahwa terlalu banyak pengeditan akan sering kali membuat pertanyaan tersebut muncul kembali di beranda dan akan menggantikan pertanyaan lain, sehingga mungkin menghalangi pertanyaan tersebut untuk mendapatkan perhatian yang layak. Menempatkan hadiah untuk menarik lebih banyak perhatian pada pertanyaan Anda adalah hal yang benar untuk dilakukan, jadi gunakan saja pendekatan itu di masa depan.   -  person Bhargav Rao    schedule 29.11.2016
comment
Saya tahu, tetapi saya tidak punya reputasi, maaf soal itu. Saya menjawab pertanyaan itu. Terima kasih atas sarannya.   -  person z4k    schedule 29.11.2016


Jawaban (2)


Jawabannya:

Apakah PNG dapat diterima dengan ukuran di bawah 256 piksel di dalam file ICO?
Microsoft menyatakan bahwa ukuran di bawah 256 piksel harus berupa BMP tanpa 14 byte pertama.
Namun setidaknya dalam kasus Windows 10, jawabannya iya.

Dapatkah Anda menambahkan gambar yang lebih besar dari 1024 piksel ke dalam ICO?
YA. Selama itu adalah PNG, ukurannya bisa sebesar yang Anda inginkan.
Perhatikan batasan "satu ikon lebih dari 255px":
Anda hanya dapat menambahkan satu gambar yang lebih besar dari 255px ( Anda dapat menambahkan lebih banyak tetapi Windows hanya akan baca blok gambar pertama di kepala ICO yang resolusinya 0,0). Formatnya menentukan 1 byte untuk setiap dimensi. Lihat tabel #2.

Ukuran apa yang harus disertakan untuk semua pengaturan DPI?
Windows 10 menggunakan ukuran ikon berikut (lihat tabel di bawah):
16, 20, 24, 28, 30, 31, 32, 40, 42, 47, 48, 56, 60, 63, 84 dan satu yang lebih besar dari 255 piksel.

Perhatikan bahwa aplikasi Windows RT tidak menggunakan file ICO, mereka menggunakan PNG atau Font, ini dari sumber Firefox:

<Application xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
    <VisualElements
      ShowNameOnSquare150x150Logo='on'
      Square150x150Logo='browser\VisualElements\VisualElements_150.png'
      Square70x70Logo='browser\VisualElements\VisualElements_70.png'
      ForegroundText='light'
      BackgroundColor='#0996f8'/>
</Application>

Jadi bagaimana Firefox memiliki ikon besar di menu mulai di ubin sedang?
Ya, ini termasuk file di atas dalam direktori exe sebelum pintasan ditambahkan ke menu mulai, artikel ini menjelaskan caranya. Aplikasi saya memiliki contohnya.
Hasil

Jika Anda membuat ikon untuk Windows 10, Anda lebih baik menggunakan alat saya dan photoshop (atau semacamnya) daripada apa pun, saya mencoba editor dan hasilnya payah.

win10iconTools oleh saya

Anda dapat membuat file ICO (sebagai rekomendasi MS atau tidak) atau membuat ikon dengan resolusi tercetak di atasnya, yang terakhir inilah yang saya gunakan untuk membuat tabel.
Mendukung beberapa mode pengubahan ukuran termasuk tetangga terdekat. Jika Anda mau, Anda dapat menggunakannya di versi windows lain, ini berfungsi dengan .net2, menguji windows lain, kirimkan saya hasilnya dan saya memperluas tabelnya demi kebaikan umat manusia.

Sedangkan untuk pixel art pada ikon tidak mungkin menjadi sempurna :(, kecuali kita dapat mengubah algoritma penskalaan di windows 10. Jadi rentang lebar 84-256 akan diskalakan ke "0" (lihat di atas), jadi tidak ada real point menambahkan sesuatu yang lebih besar dari 256 seperti yang saya lihat sekarang Anda harus membuat gambar 256px untuk "0". (Lihat tabel alasannya)

Jika Windows mendapatkan semua ikon 16 hingga 255 + 1 lebih besar dari 255 (0 dalam tabel) pilih ukuran berikut: (jadi tidak ada tabel penurunan harga di sini?, agak lebar, tabel juga ada di aplikasi readme)

|                                           |                 Windows 10                | 
|                                           |   96DPI  |  120DPI  |  144DPI  |  168DPI  | 
| icon                                      |disp.|load|disp.|load|disp.|load|disp.|load| 
|-------------------------------------------|-----|----|-----|----|-----|----|-----|----| 
| alt-tab                                   | 24  | 32 | 30  | 32 | 36  | 32 | 42  | 32 | 
| desktop large                             | 96  | 0  | 120 | 0  | 144 | 0  | 168 | 0  | 
| desktop medium                            | 48  | 48 | 60  | 60 | 72  | 72 | 84  | 84 | 
| desktop small                             | 32  | 32 | 40  | 40 | 48  | 48 | 56  | 56 | 
| explorer content, inc0                    | 32  | 32 | 40  | 40 | 48  | 48 | 56  | 56 | 
| explorer extra large                      | 256 | 0  | 256 | 0  | 256 | 0  | 256 | 0  | 
| explorer large                            | 96  | 0  | 120 | 0  | 144 | 0  | 168 | 0  | 
| explorer medium                           | 48  | 48 | 60  | 60 | 72  | 72 | 84  | 84 | 
| explorer small:inc4,list:inc3,details:inc2| 16  | 16 | 20  | 20 | 24  | 24 | 28  | 28 | 
| explorer tiles, inc1                      | 48  | 48 | 60  | 60 | 72  | 72 | 84  | 84 | 
| startmenu medium                          | 32  | 32 | 40  | 40 | 48  | 48 | 56  | 63 | 
| startmenu programs                        | 24  | 24 | 30  | 30 | 36  | 36 | 42  | 42 | 
| startmenu search                          | 32  | 60 | 40  | 60 | 48  | 60 | 56  | 0  | 
| startmenu tile small                      | 24  | 24 | 30  | 31 | 36  | 39 | 42  | 47 | 
| taskbar normal                            | 24  | 32 | 30  | 40 | 36  | 48 | 42  | 56 | 
| taskbar small                             | 16  | 16 | 20  | 20 | 24  | 24 | 28  | 28 | 
| window icon                               | 16  | 16 | 20  | 16 | 24  | 16 | 28  | 16 | 
| desktop inc0                              | 16  | 16 | 20  | 20 | 24  | 24 | 28  | 28 | 
| desktop inc1                              | 18  | 32 | 23  | 40 | 27  | 48 | 32  | 56 | 
| desktop inc2                              | 20  | 30 | 25  | 40 | 30  | 48 | 35  | 56 | 
| desktop inc3                              | 22  | 32 | 28  | 40 | 33  | 48 | 39  | 56 | 
| desktop inc4                              | 24  | 32 | 30  | 40 | 36  | 48 | 42  | 56 | 
| desktop inc5                              | 27  | 32 | 34  | 40 | 41  | 48 | 47  | 56 | 
| desktop inc6                              | 30  | 32 | 38  | 40 | 45  | 48 | 53  | 56 | 
| desktop inc7                              | 33  | 48 | 41  | 60 | 50  | 72 | 58  | 84 | 
| desktop inc8                              | 37  | 48 | 46  | 60 | 56  | 72 | 65  | 84 | 
| desktop inc9                              | 41  | 48 | 51  | 60 | 62  | 72 | 72  | 84 | 
| desktop inc10                             | 46  | 48 | 58  | 60 | 69  | 72 | 82  | 84 | 
| desktop inc11                             | 51  | 0  | 64  | 0  | 77  | 0  | 89  | 0  | 
| desktop inc12                             | 57  | 0  | 71  | 0  | 86  | 0  | 100 | 0  | 
| desktop inc13                             | 63  | 0  | 79  | 0  | 95  | 0  | 110 | 0  | 
| desktop inc14                             | 70  | 0  | 88  | 0  | 105 | 0  | 123 | 0  | 
| desktop inc15                             | 78  | 0  | 98  | 0  | 117 | 0  | 137 | 0  | 
| desktop inc16                             | 87  | 0  | 109 | 0  | 131 | 0  | 152 | 0  | 
| desktop inc17                             | 97  | 0  | 121 | 0  | 146 | 0  | 170 | 0  | 
| desktop inc18                             | 108 | 0  | 135 | 0  | 162 | 0  | 189 | 0  | 
| desktop inc19                             | 120 | 0  | 150 | 0  | 180 | 0  | 210 | 0  | 
| desktop inc20                             | 133 | 0  | 166 | 0  | 200 | 0  | 233 | 0  | 
| desktop inc21                             | 148 | 0  | 185 | 0  | 222 | 0  | 256 | 0  | 
| desktop inc22                             | 164 | 0  | 205 | 0  | 246 | 0  | 256 | 0  | 
| desktop inc23                             | 182 | 0  | 228 | 0  | 256 | 0  | 256 | 0  | 
| desktop inc24                             | 202 | 0  | 253 | 0  | 256 | 0  | 256 | 0  | 
| desktop inc25                             | 224 | 0  | 256 | 0  | 256 | 0  | 256 | 0  | 
| desktop inc26                             | 249 | 0  | 256 | 0  | 256 | 0  | 256 | 0  | 
| explorer inc5                             | 18  | 32 | 23  |    |     |    |     |    | 
| explorer inc6                             | 20  | 32 | 25  |    |     |    |     |    | 
| explorer inc7                             | 22  | 32 | 28  |    |     |    |     |    | 
| explorer inc8                             | 23  | 32 | 29  |    |     |    |     |    | 
| explorer inc9                             | 25  | 32 | 31  |    |     |    |     |    | 
| explorer inc10                            | 27  | 32 | 34  |    |     |    |     |    | 
| explorer inc11                            | 29  | 32 | 36  |    |     |    |     |    | 
| explorer inc12                            | 31  | 32 | 39  |    |     |    |     |    | 
| explorer inc13                            | 33  | 48 | 41  |    |     |    |     |    | 
| explorer inc14                            | 35  | 48 | 44  |    |     |    |     |    | 
| explorer inc15                            | 38  | 48 | 48  |    |     |    |     |    | 
| explorer inc16                            | 41  | 48 | 51  |    |     |    |     |    | 
| explorer inc17                            | 44  | 48 | 55  |    |     |    |     |    | 
| explorer inc18                            | 47  | 48 | 59  |    |     |    |     |    | 
| explorer inc19                            | 50  | 0  | 63  |    |     |    |     |    | 
| explorer inc20                            | 54  | 0  | 68  |    |     |    |     |    | 
| explorer inc44                            | 239 | 0  | 256 | 0  |     |    |     |    | 
| explorer inc45                            | 256 | 0  | 256 | 0  |     |    |     |    | 

Ada 27 peningkatan zoom di desktop
dan 45 peningkatan zoom di explorer (termasuk default dari menu di "tingkat bawah")

Spesifikasi format ikon:

|**block**  |**offset** |**offset** |**length** |**description**                |
|-----------|-----------|-----------|-----------|-------------------------------|
|main header|   0       |           |   2       |Reserved=0                     |
|           |   2       |           |   2       |Image type: 1(.ICO) 2(.CUR)    |
|           |   4       |           |   2       |Number of images in container  |
|image head1|   6       |   0       |   1       |Pixel width                    |
|           |   7       |   1       |   1       |Pixel height                   |
|           |   8       |   2       |   1       |Color palette size or 0        |
|           |   9       |   3       |   1       |Reserved=0                     |
|           |   A       |   4       |   2       |Color planes=0 or 1            |
|           |   C       |   6       |   2       |Bits per Pixel                 |
|           |   E       |   8       |   4       |Image raw size                 |
|           |   12      |   C       |   4       |Offset of imageblock from BOF  |
|image head2|   16      |   0       |   1       |Pixel width                    |
|   ...     |   ...     |   ...     |   ...     |...                            |
|imageblock1|   ...     |   ...     |   ...     |all image data goes here:      |
|           |   ...     |   ...     |   ...     |   pngs included in whole      |
|           |   ...     |   ...     |   ...     |   bmps missing first 14 bytes |
person z4k    schedule 28.11.2016
comment
Tautan Anda ke alat Anda rusak. Mengapa tidak menambahkannya ke GitHub dan membagikannya? Terima kasih! - person kdaveid; 17.04.2017
comment
Anda tidak menjelaskan di mana pun cara menggunakan alat Anda. - person NateS; 01.06.2020
comment
Maaf, maksud Anda 64? Postingan Anda memiliki 84, yang tidak disebutkan di mana pun, tetapi tidak menyebutkan 64, yang tampaknya merupakan salah satu ukuran default. - person user4551; 25.08.2020

Ikon yang Anda lihat di Windows 10 dikemas ke dalam font ikon bernama Segoe MDL2 Assets & semua aplikasi UWP bawaan seperti Groove Music menggunakan font ini untuk ikon. Juga beberapa aplikasi di toko Windows menggunakannya.

person RaminMT    schedule 22.11.2016
comment
Firefox (bukan aplikasi universal) memiliki ikon besar di menu mulai dan berwarna. - person z4k; 23.11.2016
comment
Sayang, saya tidak mengatakan sepatah kata pun tentang itu, saya tahu itu tidak benar. Aplikasi Windows tidak memiliki api untuk Ubin, mereka hanya dapat menentukan ikon untuk pintasan desktop dan bilah tugas, sehingga Windows menggunakannya untuk ubin menu Mulai - person RaminMT; 23.11.2016
comment
Saya juga memeriksa ulang ubin medium Firefox di menu Mulai, ikonnya lebih kecil dari ubin kecil (mungkin bagi saya)! - person RaminMT; 23.11.2016
comment
Lihat gambar di postingan, dan tolong beri tahu saya caranya. - person z4k; 23.11.2016
comment
Lihat perbedaan warna pada gambar saya? Sepertinya ikon firefox juga berisi latar belakang. - person z4k; 23.11.2016
comment
Lihat bagian yang saya tambahkan tentang firefox, karena sepertinya VS tidak akan melakukannya dengan proyek WPF :( - person z4k; 23.11.2016