2017-03-11 58 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