カメラロールに保存せずに、カメラからキャプチャした画像を分離ストレージに保存する必要があるWindows Phoneアプリケーションに取り組んでいます。キャプチャした画像を分離ストレージに保存できますが、キャプチャした画像のコピーがカメラロールにも保存されます。カメラロールではなく、隔離されたストレージ内に画像を保持する方法はありますか?
ありがとう
カメラロールに保存せずに、カメラからキャプチャした画像を分離ストレージに保存する必要があるWindows Phoneアプリケーションに取り組んでいます。キャプチャした画像を分離ストレージに保存できますが、キャプチャした画像のコピーがカメラロールにも保存されます。カメラロールではなく、隔離されたストレージ内に画像を保持する方法はありますか?
ありがとう
分離ストレージのみに保存する場合は、CameraCaptureTask
. WP8 では、何をしても透過的に画像のコピーがカメラ ロールに保存されます。
とは言え、解決策はあります。基本的に独自の を作成して使用するには、カメラ API を使用する必要がありますCameraCaptureTask
。深く掘り下げるつもりはありませんが、これで始められるはずです。
最初に行う必要があるのは、このチュートリアルに従って、ビューと基本的なアプリケーションを作成することです。メソッドを使用してcam_CaptureImageAvailable
、画像をカメラロールに保存します。次のように、分離ストレージに保存するように変更する必要があります。
using (e.ImageStream)
{
using(IsolatedStorageFile storageFile = IsolatedStorageFile.GetuserStoreForApplication())
{
if( !sotrageFile.DirectoryExists(<imageDirectory>)
{
storageFile.CreateDirectory(<imageDirectory>);
}
using( IsolatedStorageFileStream targetStream = storageFile.OpenFile( <filename+path>, FileMode.Create, FileAccess.Write))
{
byte[] readBuffer = new byte[4096];
int bytesRead;
while( (bytesRead = e.ImageStream.Read( readBuffer, 0, readBuffer.Length)) > 0)
{
targetStream.Write(readBuffer, 0, bytesRead);
}
}
}
}
この時点から、分離ストレージにのみ保存する機能的なカメラ アプリケーションが完成しました。色の効果などでスパイスを効かせたいと思うかもしれませんが、必須ではありません。