我正在开发一个它c#3.0应用程序。我们的设计创造相当多的。ico文件,含有所有必要的技术。选择。ico是因为很多时候,同样的图像需要在几个地方在不同的层面。

现在,它似乎。ico文件 真的 讨厌使用visual studio.唯一的方式使用这些图像似乎是通过图像的清单(而不是支持所有控件)。相比,其他资源,你不能写这样的:

foo.Image = global::RFQHUB.RFQHUBClient.Properties.Resources.foo; //    Cannot implicitly convert type 'System.Drawing.Icon' to 'System.Drawing.Image'  

这里是选择我考虑:

  • 创建ImageLists的所有可能的尺寸引用我所有的图标在我主要的窗口。链接这些ImageLists从其他窗口,并找到一种方法来出口对象的图像,从ImageList当我不能直接使用它;由于ImageList包含一个画()方法,这可能应该是可能的。
  • 把所有的x。ico我已经得到了几个x16.gif ...x48.gif和使用那些通过资源。

我会有兴趣知道,如果一些人已经成功地使用。ico资源Winform应用程序。在那你是怎么设置的东西?

有帮助吗?

解决方案

ICO不是一个过时的格式,但它的接近。它仍然是有用的应用程序图标,但对于几乎一切,它是更好地使用ImageList每个尺,你需要的。和它的更快的填充ImageList从位图,包含多个图像奠定了一个电网。

你还要用一个Α道的透明度你的位图,以获得最好的结果,所以他们存储。PNG文件在您的资源是最好的路要走,因为PNG支持一个阿尔法的通道。ICO和GIF文件支持只有单位的透明度-每一像素是完全不透明或完全透明的。有8位alpha channel透明度的看起来好得多。

如果你可以把你的艺术家回到制图板然后你应该这样做,并且让他/她的不完全反锯齿的图像阿尔法。如果你不能,那么我建议你写上一个小节目,以把所有你的图标文件到位图适用于装载入ImageLists.

其他提示

把图像变成PNG。点。谁决定使用。ico文件的开始应该谈到在私人的论点认为没有地。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top