2016-10-26 117 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

相关问题