2016-10-26 148 views
0

我已經創建了一種方法將上傳的圖像保存到我的項目資源文件夾中。該圖像已正確添加到我的資源文件夾中,但我無法使用該圖像,因爲我無法設置構建操作。我可以在哪裏存儲上傳的圖像,哪個文件夾?我閱讀了bin目錄,但這是一個好習慣嗎?將圖像添加到項目資源文件夾運行時

資源是我項目下的一個文件夾。正如你在下面的屏幕截圖中看到的,我無法設置我上傳的圖像的構建動作(beats_1.jpg)。

enter image description here

代碼保存圖像

var path = string.Format(@"{0}\Resources\Images\{1}", Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName, GiftImageFileName); 
var resizedImage = GiftImage.CreateResizedImage(100, 100, 0); 
var encoder = new PngBitmapEncoder(); 
encoder.Frames.Add(BitmapFrame.Create(resizedImage)); 
using (FileStream stream = new FileStream(path, FileMode.Create)) 
{ 
    encoder.Save(stream); 
} 

回答

0

OK,所以我猜你想製作之前完成這個過程,因此您的文件包含在編譯輸出一個資源,你可以在編譯的可執行文件中引用它。

有兩種方法可以解決這個問題,一個是快速和骯髒,一個是更復雜和更正確。

快速和髒:(這應該沒有裝載Visual Studio解決方案時,可以執行)

  • 打開通過在C#代碼的XML修改庫中的項目的csproj文件(例如,使用XDOC)。

  • 編程方式添加下<Project>部分

    <ItemGroup> 
        <Resource Include="Resources\Images\beats_1.png" /> 
        <Resource Include="Resources\Images\beats_2.png" /> 
        <Resource Include="Resources\Images\beats_n.png" /> 
        </ItemGroup> 
    
    • 保存的csproj文件中的以下
    • 編譯您的項目

更加複雜和正確的: - 使用VSPackage visual studio加載項修改當前值租用已加載的項目並添加新的資源項目。 - 請參閱:How do I programmatically add a file to a Solution?

+0

如何從WPF中的轉換器訪問項目項目? – Sybren

相關問題