我目前正在我的窗体中设置我的图像:
pictureBox1.Image = Image.FromFile("C:\\Users\\User\\Documents\\Visual Studio 2013\\Projects\\WindowsFormsApplication1\\WindowsFormsApplication1\\Krum\\11.jpg");
但是,在我发布产品并从另一个位置的另一台计算机加载产品后,这将不起作用。
如何将图像添加到项目中,以便在我发布并将其发送到另一台计算机后它们可以正常工作?我使用什么路径以及在哪里添加它们?
更新:
将属性添加到属性后尝试查找文件的路径效果不佳。在我的属性中,文件看起来像这样:
internal static System.Drawing.Bitmap one {
get {
object obj = ResourceManager.GetObject("one", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
然后我尝试使用它:
System.Reflection.Assembly thisExe;
thisExe = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.Stream file =
thisExe.GetManifestResourceStream("WindowsFormsApplication1.Properties.Resources.one");
this.pictureBox1.Image = Image.FromStream(file);
答案 0 :(得分:2)
将图像文件添加到项目中,并在“解决方案资源管理器”中将“构建操作”属性设置为“嵌入资源”,然后使用以下内容:
System.Reflection.Assembly thisExe;
thisExe = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.Stream file =
thisExe.GetManifestResourceStream("AssemblyName.ImageFile.jpg");
this.pictureBox1.Image = Image.FromStream(file);
参考:http://msdn.microsoft.com/en-us/library/aa287676(v=vs.71).aspx
答案 1 :(得分:0)
如果您不想将图像嵌入到汇编文件中,您可以随时将它们添加到解决方案中,将属性“复制到输出目录”设置为“始终”,然后使用以下代码访问相对路径:
var directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var filename = Path.Combine(directory, "Images", "Image1.png");
此外,如果您使用的是安装项目,还要包含要与程序集一起安装的文件夹/文件。