Windows 8 如何在图片库中保存相机拍摄的照片

Windows 8 如何在图片库中保存相机拍摄的照片,windows-8,windows-runtime,microsoft-metro,windows-store-apps,winrt-xaml,Windows 8,Windows Runtime,Microsoft Metro,Windows Store Apps,Winrt Xaml,我使用下面的代码来捕获照片,但不知道如何将其保存在图片库或图片库的文件夹中。非常感谢你在这方面的帮助 CameraCaptureUI camera=新的CameraCaptureUI(); camera.PhotoSettings.CroppedSpectratio=新尺寸(16,9); StorageFile photo=wait-camera.CaptureFileAsync(CameraCaptureUIMode.photo); 如果(照片!=null) { BitmapImage bmp

我使用下面的代码来捕获照片,但不知道如何将其保存在图片库或图片库的文件夹中。非常感谢你在这方面的帮助

CameraCaptureUI camera=新的CameraCaptureUI();
camera.PhotoSettings.CroppedSpectratio=新尺寸(16,9);
StorageFile photo=wait-camera.CaptureFileAsync(CameraCaptureUIMode.photo);
如果(照片!=null)
{
BitmapImage bmp=新的BitmapImage();
irandomaccesstream=wait photo.OpenAsync(FileAccessMode.Read);
bmp.SetSource(流);
ImageSource.Source=bmp;
ImageSource.Visibility=可见性.Visibility;
StorageFolder StorageFolder=KnownFolders.PicturesLibrary;
??不确定:
var imagefile=await KnownFolders.PicturesLibrary.CreateFileAsync(“MyPhoto.jpeg”,CreationCollisionOption.ReplaceExisting);
photo.copyanc(storageFolder,imagefile);
}

给你。您必须在清单中设置相机和图片库访问功能

CameraCaptureUI camera = new CameraCaptureUI();
camera.PhotoSettings.CroppedAspectRatio = new Size(16, 9);
StorageFile photo = await camera.CaptureFileAsync(CameraCaptureUIMode.Photo);

//By default the photo will be stored at location
//%localappdata%\Packages\APP_PACKAGE_ID\TempState

if (photo != null)
{
    //await photo.MoveAsync(KnownFolders.PicturesLibrary);
    //OR
    await photo.MoveAsync(KnownFolders.PicturesLibrary, "DesiredPhotoName" + photo.FileType, NameCollisionOption.GenerateUniqueName);
}

它正在工作。这是相机定义的photo.FileType,因为photo是storageFile,我没有定义它的类型。这同样有效:wait photo.MoveAsync(KnownFolders.PicturesLibrary,“MyPhoto”+“.jpeg”、namecollisonoption.GenerateUniqueName);Is DesiredPhotoName表示“Name”+“.jpeg”谢谢。最好使用
photo.FileType
,因为某些相机可能提供不同的格式。所以我们不应该硬编码格式。谢谢。但是我如何知道为相机定义的照片文件类型呢?在哪里设置照片文件类型?我认为它是预定义的,比如jpg。这取决于相机型号。如果它只提供JPEG格式,那么将没有选择。