Windows 10 все разрешения на все настройки DPI? Формат? Пиксельное искусство как значок? Значок большого размера в меню начального меню средней плитки?

Просто перейдите к ответу в разделе ответа, в вопросительной части есть предположения и ошибки. Ответ основан на эксперименте, и это точно.

В течение долгого времени я использовал один png-упакованный 256-кратный ico файл для моих проектов Visual Studio, и он работал хорошо, потому что масштабирование отлично работает на этих значках, и они почти не занимают места, и мне было все равно,.

Но теперь у меня есть значок, который должен "сохранять жесткие края", это "пиксельное искусство". Если я буду строить с 256-кратной версией, то ужасно жужжит или если я построю с 16-кратным увеличением, немного менее страшно, но не достаточно. Поэтому мои вопросы:

  • Какими размерами я должен сгенерировать для слияния в iico (мне не нужны значки pre win7)?

  • Если у меня есть этот список, мне нужно создавать версии 1.25x, 1.5x и 2.0x для настроек с высоким разрешением?

  • Наконец, некоторые приложения, такие как firefox, имеют большой значок в меню "Пуск" внутри среднего квадрата, мои приложения имеют меньший размер в центре, например, Visual Studio, как я могу поместить большой значок в меню "Пуск" средний квадрат?

Я нашел это: К сожалению, VS говорит: VisualElements не поддерживается в проекте Windows Presentation Foundation (WPF). Есть ли способ обойти это?

Я огляделся и собрал возможные размеры @1x (96DPI):
16, 20, 24, 30, 32, 40, 48, 50, 64, 128, 150, 256, 512, 768
В основном я собрал их из Какие размеры значков должен содержать значок моего приложения Windows?.

Не так уж плохо, но если я добавлю 1.25x, 1.5x, 2.0x, то получим:
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 В моем случае он делает файл 500k ico, и, как кажется, 1024 - это максимальное разрешение, которое вы можете поместить в файл ico, мой значок пикселирован, поэтому он очень хорошо сжимается с помощью png и еще ~ 500k.

Я также сделал, что ico имеет все вышеперечисленные разрешения в rgba, и каждый имеет свой размер на нем, поэтому вы можете видеть, какие окна загружаются, на каких настройках dpi. вы можете скачать его из здесь и использовать его в тестируемом проекте.

Как я понимаю, все под 256px не может быть сжато png, правильно ли это?

И мне нужны все эти размеры, чтобы сохранить значок идеального пикселя? Являются ли только 32-битные (RGBA) pngs? Надеюсь, мне не нужно включать другие глубины.

После того, как я написал ico-автора из спецификации, я понял, что pngs может иметь 0 для разрешения, потому что 1 байт доступен для x или y (но я никогда не видел ico, который не является квадратным, возможно, curs может быть не квадратным), в этом случае, вероятно, первый в файле с нулями для разрешения будет использоваться... Это не уверен, но я думаю, что это недалеко от правды. См. Изображения. Проблемы с изменением статуса все еще меня смущают, если у меня будет немного времени завтра, я проверю это. Идеальный пиксельный значок кажется невозможным: наличие одного изображения для масштабирования до уровня выше 256 пикселей.

Ответ 1

Ответы:

Являются ли PNG приемлемыми в 256px внутри ICO файла?
Microsoft заявляет, что размеры под 256px должны быть BMP без первых 14 байтов.
Но, по крайней мере, в случае с окнами 10 ответ ДА.

Можете ли вы добавить изображение размером более 1024 пикселей в ICO?
ДА. Пока это PNG, он может быть таким большим, как вы хотите.
Обратите внимание на ограничение "один значок выше 255px":
Вы можете добавить только одно изображение размером более 255 пикселей (вы можете добавить больше, но окна будут читать только первый блок изображения в голове ICO, где разрешение равно 0,0). Формат определяет 1 байт для каждого измерения. См. Таблицу № 2.

Какие размеры можно включить для всех настроек DPI?
Windows 10 использует следующие размеры значков (см. Таблицу ниже):
16, 20, 24, 28, 30, 31, 32, 40, 42, 47, 48, 56, 60, 63, 84 и один больше 255px.

Обратите внимание, что приложения Windows RT не используют ICO файлы, они используют PNG или Fonts, это из источника 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>

Итак, как Firefox имеет большой значок в меню "Пуск" в средней плите?
Ну, включите этот файл в каталог exe, прежде чем ярлык добавлен в меню "Пуск", в этой статье объясняется, как. Мое приложение имеет пример.
Результаты

Если вы создаете значки для Windows 10, вам лучше с моим инструментом и фотошопом (или что-то в этом роде), чем что-либо еще, я попробовал редакторы, и они сосут.

win10iconTools мной

Вы можете создавать ICO файлы (как рекомендации MS или нет) или создавать значки с разрешением, напечатанным на них, последнее - это то, что я использовал для создания таблицы.
Поддерживает несколько режимов изменения размера, включая ближайшего соседа. Если вы хотите, чтобы вы могли использовать его в других версиях Windows, он работает с .net2, тестирует другие окна, присылает мне результаты и расширяю таблицу на благо человечества.

Что касается пиксельного искусства в значках, то невозможно быть идеальным:(, если мы не сможем изменить алгоритм масштабирования в окнах 10. Таким образом, широкий диапазон 84-256 получает масштабирование до "0" (см. Выше), поэтому нет реальной точки добавления чего-то большего, чем 256, как я вижу сейчас, вам нужно создать изображение размером 256 пикселей для "0". (См. Таблицу почему)

Если Windows получает все значки от 16 до 255 + 1 больше 255 (0 в таблице), вы выбираете такие размеры: (так что здесь нет таблиц уценки?, его вид широкий, таблицы также находятся в приложении 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  |     |    |     |    | 

На рабочем столе увеличено 27 единиц увеличения. и 45 увеличения масштаба в проводнике (включая значения по умолчанию из меню на нижнем уровне)

Спецификация формата значков:

|**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 |

Ответ 2

Значки, которые вы видите в Windows 10, упакованы в шрифт значка с именем Segoe MDL2 Assets, и все встроенные приложения UWP, такие как Groove Music, используют этот шрифт для значков. Также некоторые приложения в хранилище Windows используют его.