2013-03-04 48 views
2

我正在尝试使用Windows表面设备拍摄并保存照片。在Windows应用商店中捕获并保存XAML/C#中的照片

我正在使用下面的代码来拍摄照片和这项工作,但我想在设备的本地驱动器上自动创建一个目录,并在没有任何对话框提示的情况下保存此照片。

所以我用捕捉到照片中的代码如下:

CameraCaptureUI camera = new CameraCaptureUI(); 

StorageFile file = await camera.CaptureFileAsync(CameraCaptureUIMode.Photo); 
if (file!=null) 
{ 
    using (IRandomAccessStream ras=await file.OpenAsync(FileAccessMode.Read)) 
    { 
     BitmapImage source = new BitmapImage(); 
     source.SetSource(ras); 

     imageBuildingPhoto.Source = source; // this is just an image control. 
    } 
} 

所以在这之后,我想会自动将图片保存到一个新的目录。例如

我的图片\ NewDirectory \ PHOTO1.JPG

任何人有任何想法我怎么能做到这一点?

这是一个使用C#4.5和XAML编写的Windows应用商店应用程序。

在此先感谢

回答

2

使用CopyAsync方法StorageFile对象上,你回来(文件)。您可以指定一个目录和文件名。如果您需要创建自己的目录结构,则需要启用对Package Manifest中相应库的访问,然后使用代码创建它。然后,您将使用StorageFolder类及其CreateFolderAsync方法创建文件夹。

http://aka.ms/30Days有一些很好的资源来学习这样的场景。可能值得一试。

+0

卓越的帮助杰里杰夫。你能帮助另一个问题吗?看看这篇文章:http://stackoverflow.com/questions/15250726/create-sub-folders-in-my-pictures-from-windows-store-application – Sun 2013-03-06 17:30:56

1

您的代码需要查看该文件夹是否存在,如果不存在则创建该文件夹。您的应用程序也需要声明访问应用程序清单中用户照片库的功能。

要拍照,您的代码是正确的。我有一个演练,如果你想验证它与其他代码:http://blog.jerrynixon.com/2012/10/walkthrough-capturing-photos-in-your.html

要与文件系统交互,这可能会很棘手,但我有一个更长的时间写在那,如果你想引用它:http://blog.jerrynixon.com/2012/06/windows-8-how-to-read-files-in-winrt.html

你的问题的答案是,你可以。我已经在我自己的应用程序中完成了它。现在,这只是你在你身上实施的一个问题。你会发现它很容易。

相关问题