如何将位图图像保存到本地文件夹Windows应用商店应用
我在拍照后将图像设置为网格(imageGrid),以便用户可以查看它。完成一些任务后,我希望用户能够按下按钮保存图片和文本信息。我在将文本保存到文件中时没有问题,但我似乎找不到任何关于以这种方式保存图像的信息。我不想直接从相机中保存它。我需要让用户能够保存它的命令。如何将位图图像保存到本地文件夹Windows应用商店应用,windows,image,c#-4.0,windows-8,windows-store-apps,Windows,Image,C# 4.0,Windows 8,Windows Store Apps,我在拍照后将图像设置为网格(imageGrid),以便用户可以查看它。完成一些任务后,我希望用户能够按下按钮保存图片和文本信息。我在将文本保存到文件中时没有问题,但我似乎找不到任何关于以这种方式保存图像的信息。我不想直接从相机中保存它。我需要让用户能够保存它的命令。 所以我的问题是,在将捕获的图像设置为XAML图像后,如何保存它?提前感谢。正如桑德拉已经建议的那样,您需要保留CaptureFileAsync的结果。该方法已将捕获的图像保存到文件中,并将其作为StorageFile返回给您。只要将
所以我的问题是,在将捕获的图像设置为XAML图像后,如何保存它?提前感谢。正如桑德拉已经建议的那样,您需要保留
CaptureFileAsync
的结果。该方法已将捕获的图像保存到文件中,并将其作为StorageFile
返回给您。只要将该引用存储到私有字段,并在用户单击“保存”后从中复制:
private async void Button_Click2(object sender, RoutedEventArgs e)
{
CameraCaptureUI camera = new CameraCaptureUI();
camera.PhotoSettings.AllowCropping = true;
camera.PhotoSettings.CroppedAspectRatio = new Size(16, 9);
StorageFile photo = await camera.CaptureFileAsync(CameraCaptureUIMode.Photo);
if (photo != null)
{
IRandomAccessStream stream = await photo.OpenAsync(FileAccessMode.Read);
bmp.SetSource(stream);
imageGrid.Source = bmp;
}
}
private async void saveButton_Click3(object sender, RoutedEventArgs e)
{
//Save Image to the file
//What code goes here?
}
正如Sandra已经建议的,您需要保留
CaptureFileAsync
的结果。该方法已将捕获的图像保存到文件中,并将其作为StorageFile
返回给您。只要将该引用存储到私有字段,并在用户单击“保存”后从中复制:
private async void Button_Click2(object sender, RoutedEventArgs e)
{
CameraCaptureUI camera = new CameraCaptureUI();
camera.PhotoSettings.AllowCropping = true;
camera.PhotoSettings.CroppedAspectRatio = new Size(16, 9);
StorageFile photo = await camera.CaptureFileAsync(CameraCaptureUIMode.Photo);
if (photo != null)
{
IRandomAccessStream stream = await photo.OpenAsync(FileAccessMode.Read);
bmp.SetSource(stream);
imageGrid.Source = bmp;
}
}
private async void saveButton_Click3(object sender, RoutedEventArgs e)
{
//Save Image to the file
//What code goes here?
}
这个问题可能重复-谢谢你,但不是,我读了这个问题。这与直接从相机中保存有关。我无法用我的应用程序实现这一点。不幸的是,正如该线程所示,无法直接从BitmapImage保存;你必须回到源头。由于您是从相机捕获流的,所以只需在用户按下按钮之前挂在流对象上即可。此问题可能重复-谢谢,但不,我读了此问题。这与直接从相机中保存有关。我无法用我的应用程序实现这一点。不幸的是,正如该线程所示,无法直接从BitmapImage保存;你必须回到源头。由于您是从相机捕获流的,所以只需挂在流对象上,直到用户按下按钮即可。谢谢。你完全回答了我的问题,谢谢。你完全回答了我的问题。