目前我正在努力使其能够从程序中访问图像“staticmap.bmp”,以便我可以将程序传输到另一台计算机并仍然可以访问该图像。我已经尝试将文件传输到程序文件中,但它没有在visual studio选项卡中显示为存在,也许我将它移动到错误的位置?要么是我正确地称它?
有谁知道图片文件必须在哪里才能被调用?
这是代码,
Image image = Image.FromFile("staticmap.bmp");
答案 0 :(得分:2)
如果您只想打开这样的文件:
Image image = Image.FromFile("staticmap.bmp");
然后,staticmap.bmp只需与可执行文件位于同一文件夹中。
答案 1 :(得分:1)
将其作为嵌入式资源添加到应用程序中。一个简单的谷歌搜索将找到这样做的教程。
答案 2 :(得分:0)
您需要添加资源 - 右键单击项目,属性,资源。
请参阅msdn docs
答案 3 :(得分:0)
应用程序可以确定它是从哪个目录开始的,如
string dir = System.IO.Path.GetDirectoryName(
System.Windows.Forms.Application.ExecutablePath
);
另一种选择是(如果您没有引用WinForms):
string dir = System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetEntryAssembly().Location
);
如果图像位于应用程序目录中的子目录Images
Image image = Image.FromFile(System.IO.Path.Combine(dir, @"Images\staticmap.bmp"));
答案 4 :(得分:0)
右键单击解决方案资源管理器中的图像,选择“属性”。将“构建操作”设置为“内容”,将“复制到输出目录”设置为“始终复制”,以确保将映像复制到与构建时的可执行文件相同的目录。
或者,右键单击解决方案资源管理器中的项目,选择“属性”,转到“资源”选项卡,按“添加资源”按钮右侧的小箭头,选择“添加现有文件”并选择要使用的图像作为资源。然后你可以像这样使用它:
Image image = Properties.Resources.staticmap;