Примечание: Вопрос Использование значка Vista x 256 x 256 в приложении означает использование значка Vista в качестве значка приложения. Этот вопрос касается ручного рисования иконки Vista.
Примечание: Вопрос WinForms .NET 2.0: Как нарисовать значок нужного размера? занимается рисованием значка Vista, загруженного из файла. Этот вопрос касается рисования значка Vista, загруженного из .resource.
Я включил значок в свой проект Visual Studio, который имеет различные форматы:
- 16x16
- 32х32
- 48x48
- 256x256 (сжатый PNG)
Теперь хочу нарисовать версию 256x256. Ни одна из следующих вещей, которые я пробовал работать,
На следующем рисунке показан формат 32x32, растянутый до 256x256:
Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawIcon(ico, new Rectangle(0, 0, 256, 256));
На следующем рисунке формат 32x32 показан без растяжения:
Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawIconUnstretched(ico, new Rectangle(0, 0, 256, 256));
На следующем рисунке показан формат 32x32, растянутый до 256x256:
Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawImage(ico.ToBitmap(), new Rectangle(0, 0, 256, 256));
На следующем рисунке показан формат 48x48, растянутый до 256x256:
Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawIcon(
new Icon(ico, new Size(256, 256)),
new Rectangle(0, 0, 256, 256));
Как нарисовать значок формата 256x256?
Примечания:
Значок не приходит из файла, поэтому PInvoking LoadImage () не поможет.
Значок не является значком, связанным с файлом, поэтому PInvoking SHGetFileInfo () не поможет . Также не будет использовать Icon.ExtractAssociatedIcon .
Я также не пытаюсь создавать значки с форматом 256x256 во время выполнения, поэтому библиотеки , предназначенные для этого , не помогут.
2 : Вопрос WinForms .NET 2.0: Как нарисовать значок нужного размера?