我有问题。我正在尝试将图像保存到项目中的文件夹(而不是资源文件夹!),并将该文件夹中的图像作为源加载到图像保持器中。我希望将图像保存在名为TempImages的文件夹中,我的应用程序名称为MyApp。这是我现在拥有的代码:
保存:
using (var image = args.Surface.Snapshot())
using (var data = image.Encode(SKEncodedImageFormat.Png, 80))
using (var stream = File.OpenWrite(Path.Combine("MyApp.TempImages", "CreatedImage.png")))
{
data.SaveTo(stream);
}
开幕:
string resourceID = string.Format("MyApp.TempImages.CreatedImage.png");
Assembly assembly = GetType().GetTypeInfo().Assembly;
Stream stream = assembly.GetManifestResourceStream(resourceID);
imgCanvas.Source = ImageSource.FromFile(resourceID);
但是我认为File.OpenWrite
我电脑上的本地文件意味着,但我不确定。因此,我不确定是否可以正确打开文件。现在我得到保存路径不存在的错误。
我该如何解决?
您应该能够在应用程序可写路径之一中创建所需的任何文件夹结构
var path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
var folder = Path.Combine(path,"MySpecialFolder");
Directory.CreateDirectory(folder);
var file = Path.Combine(folder,"MyImage.png");
File.WriteAllBytes(file,data);
var image = File.ReadAllBytes(file);