2

Windows Surface デバイスを使用して写真を撮って保存しようとしています。

以下のコードを使用して写真を撮っていますが、デバイスのローカル ドライブにディレクトリを自動的に作成し、ダイアログ プロンプトなしでこの写真を保存したいと考えています。

したがって、写真にキャプチャするために使用するコードは次のとおりです。

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.
    }
}

この後、写真を新しいディレクトリに自動的に保存したいと思います。例えば

マイ ピクチャ\新しいディレクトリ\Photo1.jpg

誰も私がこれを行う方法を知っていますか?

これは、C#4.5 と XAML を使用して作成された Windows ストア アプリケーションです。

前もって感謝します

4

2 に答える 2

2

返されたオブジェクト (ファイル) に対してCopyAsyncメソッドを使用します。StorageFileディレクトリとファイル名を指定できます。独自のディレクトリ構造を作成する必要がある場合は、パッケージ マニフェストで適切なライブラリへのアクセスを有効にしてから、コードで作成する必要があります。次に、StorageFolderクラスとそのCreateFolderAsyncメソッドを使用してフォルダーを作成します。

http://aka.ms/30Daysには、このようなシナリオについて学ぶための優れたリソースがいくつかあります。チェックアウトする価値があるかもしれません。

于 2013-03-04T15:24:07.767 に答える
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

あなたの質問への答えは、はい、できます。私は自分のアプリでそれを行いました。さて、それはあなたの問題です。あなたはそれがかなり簡単であることがわかるでしょう。

于 2013-03-04T21:59:35.030 に答える