如果我想添加图片,我必须将它们放入资源并使用以下方法从picturebox.Image属性访问它们:
AddPicturesFromOtherFolders.Properties.Resources.myPicture
这是我所知道的唯一方式。如果我有10张左右的图像,这样可以正常工作,但如果我有500张图像怎么办?没有人能跟踪任何事情。所以我想在文件夹结构中构建这些超高的500图像,然后我可以使用以下内容访问:
pictureBox1.Image= ../../Assets/img/specialImages/myImage.png
那将非常简洁,但我找不到任何方法,这涉及100%C#代码。 如果你能帮助我,我会很感激。
度过愉快的一天,
Alexander Lenssen
答案 0 :(得分:0)
没有办法涉及100%C#代码。至少有一些编译器选项或安装程序操作是必需的。但第一个问题甚至是存储它的位置:Programm Directory还是UserProfiles?
假设这些图像是静态的(只有在安装程序运行时才会更改),您只需将它们存储到程序目录中即可。然后从那里使用其余代码部署它们。将它们放入Output目录并不是那么困难。 Visual Studio有这样的选项:https://msdn.microsoft.com/en-us/library/0c6xyb66.aspx你可以更进一步,比如拥有一个图像共享存储库(即大多数Photoshop程序在Programms下有一个内容文件夹)。
你可以直接使用"软链接"它们,这意味着您可以在磁盘上有一个actuall文件夹,它将被复制/同步到任何构建的输出目录中。
如果您需要动态更新这些图像(没有管理权限),那么事情会变得更加复杂。您仍然可以通过SpecialFolders完成此操作。 CommonApplicationData似乎是放置这种东西的正确位置。甚至Steam和Minecraft的旧Java Launcher也在那里做了很多存储。更不用说每个WebBrowser。
答案 1 :(得分:0)
您可以使用Image.FromFile
并从文件系统中存储的任何文件加载图像。例如:
pictureBox1.Image.FromFile(@"D:/Assets/img/specialImages/myImage.png");