Sal*_*ina 3 c# camera photo windows-store-apps windows-phone-8.1
您是否可以使用MediaCapture元素提供有关如何拍摄和保存照片的实际工作示例.我曾尝试在MSDN中寻找实际的解决方案,但这些解释或代码都没有以简单的方式描述过程.
我需要拍照并将其保存到我的库(我需要为此显示正确的预览),但是现在它旋转了90度而我无法调整它.我已经尝试设置视频预览的旋转,它适用于预览,但是当我这样做时,宽高比全部错误,保存的图像不正确.
第9频道的例子也很糟糕.我只需要一个简单的实现......
我使用运行时应用程序而不是Windows Phone 8.1的Silverlight应用程序.
我遇到了同样的问题,SetRecordRotation对我不起作用.我找到了解决方法 - 拍照并旋转图像,效果很好.我使用这样的方法:
private async void CapturePhoto()
{
string photoPath = string.Empty;
ImageEncodingProperties format = ImageEncodingProperties.CreateJpeg();
using (var imageStream = new InMemoryRandomAccessStream())
{
await MediaCapture.CapturePhotoToStreamAsync(format, imageStream);
BitmapDecoder dec = await BitmapDecoder.CreateAsync(imageStream);
BitmapEncoder enc = await BitmapEncoder.CreateForTranscodingAsync(imageStream, dec);
enc.BitmapTransform.Rotation = BitmapRotation.Clockwise90Degrees;
await enc.FlushAsync();
StorageFolder folder = ApplicationData.Current.LocalFolder;
StorageFile capturefile = await folder.CreateFileAsync("photo.jpg", CreationCollisionOption.GenerateUniqueName);
photoPath = capturefile.Name;
using (var fileStream = await capturefile.OpenAsync(FileAccessMode.ReadWrite))
{
try
{
await RandomAccessStream.CopyAsync(imageStream, fileStream);
}
catch {}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我修改了文章如何在您的Windows Phone 8.1运行时应用程序中捕获照片的代码示例,作者:Marco Siccardi http://dotnet.dzone.com/articles/how-capture-photo-your-windows-0