MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Мульти-размерная иконка в проекте"
Answer 640887
Если вы устанавливаете значек приложения в свойствах проекта, то Windows, несомненно, выбирает размер значка автоматически в зависимости от разрешения (DPI). Я протестировал на Win7 и результаты такие:
- 96 DPI
В панели задач: 32x32
В заголовке окна: 16x16
В экране ALT-TAB: 32x32
- 120 DPI
В панели задач: 32x32
В заголовке окна: 24x24
В экране ALT-TAB: 32x32
(Обратите внимание, что статьи в MSDN на тему значков могут давать устаревшую информацию, так как никто похоже не позаботился обновить их со времен ХР.)
Вы также можете задать значок окна явно с помощью свойства Icon, выбрав любой размер какой пожелаете. Для этого нужно подключить к проекту ссылку на System.Drawing. В этом случае, в отличие от автоматического выбора, все три значка будут одного размера:
using System; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Media.Imaging; using System.IO; void SetIcon() { using (Stream iconStream = new FileStream(@"file.ico", FileMode.Open)) { using (System.Drawing.Icon icon = new System.Drawing.Icon(iconStream, 64, 64)) { using (System.Drawing.Bitmap bitmap = icon.ToBitmap()) { MemoryStream memoryStream = new MemoryStream(); bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png); memoryStream.Seek(0, SeekOrigin.Begin); PngBitmapDecoder pbd = new PngBitmapDecoder(memoryStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); // Отобразить элемент в окне в натуральную величину (для проверки размера) myImage1.Source = pbd.Frames[0]; myImage1.Stretch = Stretch.None; //Задать значек окна this.Icon = pbd.Frames[0]; } } } }
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.