Windows Forms .NET 2.0: Как нарисовать значок PNG?
Замечания: ВопросИспользование 256 x 256 иконок Vista в приложении имеет дело с использованием значка "Vista" в качестве значка приложения. Этот вопрос касается ручного рисования иконки Vista.
Замечания: ВопросWinForms .NET 2.0: Как нарисовать иконку нужного размера? занимается рисованием иконки Vista, загруженной из файла. Этот вопрос касается рисования значка Vista, загруженного из .resource.
Я включил значок в свой проект Visual Studio, который имеет различные форматы:
16x1632х3248x48256x256 (сжатый 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: Как нарисовать иконку нужного размера?