注意:问题在应用程序中使用256 x 256 Vista图标处理使用"Vista"图标作为应用程序的图标.这个问题涉及手动绘制Vista图标.
注意:问题WinForms .NET 2.0:如何绘制正确大小的图标?处理绘制从文件加载的Vista图标.这个问题涉及绘制从.resource加载的Vista图标.
我在我的Visual Studio项目中包含了一个具有各种格式的图标:
现在想绘制256x256版本.我尝试过的以下任何事情都没有.
下面将32x32格式绘制为256x256:
Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawIcon(ico, new Rectangle(0, 0, 256, 256));
Run Code Online (Sandbox Code Playgroud)
以下是未拉伸的32x32格式:
Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawIconUnstretched(ico, new Rectangle(0, 0, 256, 256));
Run Code Online (Sandbox Code Playgroud)
下面将32x32格式绘制为256x256:
Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawImage(ico.ToBitmap(), new Rectangle(0, 0, 256, 256));
Run Code Online (Sandbox Code Playgroud)
下面将48x48格式绘制为256x256:
Icon ico = Properties.Resources.TestIconThatHasA256PNGFormat;
e.Graphics.DrawIcon(
new Icon(ico, new Size(256, 256)),
new Rectangle(0, 0, 256, 256));
Run Code Online (Sandbox Code Playgroud)
如何绘制256x256格式图标?
笔记:
该图标不是来自文件,因此PInvoking LoadImage()将无济于事.
该图标不是与文件关联的图标,因此PInvoking SHGetFileInfo()将无济于事.也不会使用Icon.ExtractAssociatedIcon …