我目前正在开发2D游戏引擎,到目前为止我已经添加了一个加载和删除图像的功能,但现在我想保存它们,这是字典:
public Dictionary<string, Image> images = new Dictionary<string, Image>();
字符串是名称,例如当人想要添加图像时,他们点击一个按钮,然后选择图像然后将一个pitcurebox设置为打开的图像,然后有一个文本框,当他们点击一个按钮说,添加图像,它将执行此图像。添加(textBox1.Text,pictureBox1.Image)然后我想保存添加到文件夹的所有图像
我已经在互联网上看了这个,但是没有人对我有答案,而且我提前感谢你了。
答案 0 :(得分:2)
Image
类具有Save
方法。所以你可以这样做:
foreach (var imgX in images.Select(kvp => kvp.Value))
{
imgX.Save("figure_a_file_path_and_name", ImageFormat.Jpeg);
}
如果您想在字典中使用字符串作为文件名,请稍微改变上面的代码:
var folder = "figure_the_folder_path\\";
foreach (var entry in images)
{
var destinationFile = string.Concat(folder, entry.Key);
var img = entry.Value;
img.Save(destinationFile, ImageFormat.Jpeg);
}
答案 1 :(得分:0)
使用BinaryFormatter将图像保存到单个文件夹,将字典序列化/反序列化为如下文件:
public void Save(string filename)
{
var bin_formater = new BinaryFormatter();
using (var stream = File.Create(filename))
{
bin_formater.Serialize(stream, images); //images is your dictionary
}
}