创建位图时的相对路径
Relative Path when creating Bitmap
我正在尝试创建 Bitmap
使用:
bitmap = new Bitmap(@"Movies\View\Images\missing_person.bmp");
但是,我收到 System.ArgumentException
错误。
我从中调用上述代码的文件位于:
MyProj\DisplaySideBarCommand.cs
图片位于:
MyProj\Movies\View\Images\missing_person.bmp
我也试过使用:
bitmap = new Bitmap(@"..\Movies\View\Images\missing_person.bmp");
但收到同样的错误。
如果您使用默认设置,调试二进制文件将位于 ProjectDirectory\bin\Debug\
- 因此,您可能想尝试 @"..\..\Movies\View\Images\missing_person.bmp"
它将查找与正在执行的程序集相关的文件。当您构建项目时,它可能会输出到 bin\debug
或 bin\release
之类的目录。你可以建立你的相对路径从那里回溯,或者你可以将文件复制到输出目录。
如果您将文件的构建操作设置为 Content
,它们将在构建时被复制到输出目录(包括子文件夹),然后您应该能够从那里构建正确的相对路径.
这是因为图像位于您的项目文件夹中,而不是您的输出文件夹中。
string projectFolder = "..\..\"; // Goes back to the project folder
获得项目路径后,只需像这样使用它:
bitmap = new Bitmap(projectFolder + @"Movies\View\Images\missing_person.bmp");
我建议您将文件移动到输出文件夹,而不是将它们存储在项目中。因为通常你只分发输出文件夹而不是你的整个项目(当然除非它是开源的。)
我正在尝试创建 Bitmap
使用:
bitmap = new Bitmap(@"Movies\View\Images\missing_person.bmp");
但是,我收到 System.ArgumentException
错误。
我从中调用上述代码的文件位于:
MyProj\DisplaySideBarCommand.cs
图片位于:
MyProj\Movies\View\Images\missing_person.bmp
我也试过使用:
bitmap = new Bitmap(@"..\Movies\View\Images\missing_person.bmp");
但收到同样的错误。
如果您使用默认设置,调试二进制文件将位于 ProjectDirectory\bin\Debug\
- 因此,您可能想尝试 @"..\..\Movies\View\Images\missing_person.bmp"
它将查找与正在执行的程序集相关的文件。当您构建项目时,它可能会输出到 bin\debug
或 bin\release
之类的目录。你可以建立你的相对路径从那里回溯,或者你可以将文件复制到输出目录。
如果您将文件的构建操作设置为 Content
,它们将在构建时被复制到输出目录(包括子文件夹),然后您应该能够从那里构建正确的相对路径.
这是因为图像位于您的项目文件夹中,而不是您的输出文件夹中。
string projectFolder = "..\..\"; // Goes back to the project folder
获得项目路径后,只需像这样使用它:
bitmap = new Bitmap(projectFolder + @"Movies\View\Images\missing_person.bmp");
我建议您将文件移动到输出文件夹,而不是将它们存储在项目中。因为通常你只分发输出文件夹而不是你的整个项目(当然除非它是开源的。)