C# 如何从图标中提取256x256图标并在.Net、Winforms和XP中显示

C# 如何从图标中提取256x256图标并在.Net、Winforms和XP中显示,c#,.net,vb.net,winforms,icons,C#,.net,Vb.net,Winforms,Icons,下面是我用来提取所需图标大小的代码: Dim i As Icon = My.Resources.Spectrum Using i2 As New Icon(i, New Size(256, 256)) Me.PictureBox1.Image = i2.ToBitmap End Using 这适用于16x16到128x128,但对于256x256,它会提取128x128图标。我尝试了0x0,因为我似乎记得大尺寸是如何存储在元数据中的,但这也不起作用。您确

下面是我用来提取所需图标大小的代码:

    Dim i As Icon = My.Resources.Spectrum
    Using i2 As New Icon(i, New Size(256, 256))
        Me.PictureBox1.Image = i2.ToBitmap
    End Using

这适用于16x16到128x128,但对于256x256,它会提取128x128图标。我尝试了0x0,因为我似乎记得大尺寸是如何存储在元数据中的,但这也不起作用。

您确定您的源确实包含256x256资源吗?您是否尝试过使用其他源图标?

是的,我的应用程序会查询元数据并显示可用的大小。除此之外,我已经在我知道有256x256图标的图标上测试了它,因为我已经在图标编辑器中打开了它们。我之前尝试过,但在带有“参数无效”异常的“bmpPngExtracted=New Bitmap(destStream)”行上失败。我刚刚在另一个图标上试用过,效果不错。我只需要找出它在另一个图标上失败的原因。。。