2017-03-11 95 views
-2

我遇到了尝试从System.Drawing.Image.FromFile命名空间中使用“FromFile”调用的问题,更具体地说,它似乎不支持URI或WPF的包路径(pack:// application: ,,, /),因此我无法弄清楚如何正确分配图像路径。有些帮助或方向是值得赞赏的,因为这在过去的几个小时里让我难住,我不想最终硬编码路径。System.Drawing.Image.FromFile wpf pack uri's?

+0

你的问题不清楚,而且太宽泛。 'FromFile()'方法需要一个实际的_file_,这不是嵌入式资源,而是''pack:'用于什么。在MSDN上有很好的文档,以及有关如何使用'pack:'URI方案访问WPF中的资源数据的Stack Overflow的丰富信息。首先,弄清楚你究竟想要做什么,然后研究。然后尝试。如果你仍然有困难,用一个好的[mcve]发布一个问题,它可以可靠地再现你正在遇到的任何问题。 –

+0

我知道包装系统是如何工作的。这里有一些更多的细节。我目前使用的是BitmapImage,我可以像这样分配路径:new Uri(“pack:// application:,,,/app; component/Images/image.png”);.问题是我不得不切换到不同的实现来产生我想要的结果。我切换我的实现使用System.Drawing.Image.FromFile(“xx \\ xx \\ image.png”)。 fromfile()不支持uri或pack:// urls,这就迫使我把所有的.png放到一个文件夹中。当我部署我的解决方案时,我想不要将它们放在一个文件夹中,因为我现在已经设置了该解决方案。 – cravie

+0

如果您需要使用'FromFile()',那么您必须使用文件。如果您可以切换到['FromStream()'](https://msdn.microsoft.com/en-us/library/93z9ee4x(v = vs.110).aspx),那么您可以将您的嵌入式资源作为以这种方式流和实例化'Image'对象。为什么你将GDI +'Image'对象与WPF混合,我不知道。 –

回答

0
  1. 您可以使用Image控件及其Source属性。可以使用System.Windows.Media.Imaging.BitmapImage类及其构造函数或UriSource属性。

+0

不幸的是,这并没有解决我的问题。阅读我上面的回复,我进一步细化。 – cravie