【发布时间】:2014-12-05 14:51:16
【问题描述】:
我正在使用此处的 Xamarin.Forms 相机示例 - https://github.com/XForms/Xamarin-Forms-Labs-Samples/tree/master/XF.Labs.CameraSample 我可以选择或拍照。
private async Task SelectPicture()
{
mediaPicker = DependencyService.Get<IMediaPicker>();
imageSource = null;
var mediaFile = await mediaPicker.SelectPhotoAsync(new CameraMediaStorageOptions
{
DefaultCamera = CameraDevice.Front,
MaxPixelDimension = 400
});
imageSource = ImageSource.FromStream(() => mediaFile.Source);
img.Source = imageSource;
}
private async Task TakePicture()
{
mediaPicker = DependencyService.Get<IMediaPicker>();
imageSource = null;
var mediaFile = await mediaPicker.TakePhotoAsync(new CameraMediaStorageOptions
{
DefaultCamera = CameraDevice.Front,
MaxPixelDimension = 400
});
imageSource = ImageSource.FromStream(() => mediaFile.Source);
img.Source = imageSource;
}
图片的代码很简单
img = new Image
{
BackgroundColor = Color.White,
Aspect = Aspect.AspectFit
};
有几个问题:
第一个。您可以拍照或选择存储的照片,然后它将显示在页面上。如果您选择一张照片,它会正确显示它,无论是纵向还是横向。当您拍照时,它仅以横向模式显示,因此如果图像是纵向拍摄的,则图像显示在侧面。这不是灾难性的,但最好显示图像是如何拍摄的。
第二个问题有点严重,如果您在相机或图片库中按下设备的后退按钮,那么屏幕会变为空白,然后您会收到一条消息,指出应用程序已停止响应。
到目前为止,我只在 Android 上尝试过这个。有人对我如何解决上述问题有任何想法吗?
编辑:我已经设法修复了后退按钮崩溃的问题,但是对于 Android,图像仍然显示在其一侧,但对于 iOS 则正确显示
【问题讨论】:
-
有人解决了这个问题吗?
-
我没有机会尝试这些解决方案,但这似乎只是三星设备上的问题。在我测试过的其他设备上运行良好
标签: android camera xamarin.forms