我是Xamarin的新手,我正在使用VS studio 2022,我的APP在模拟器中拍照,然后我需要复制图像,我的问题是:图像存储在Emulator中的哪个位置?在生产中会有所不同吗?这是我的C#代码:String origenPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);得到的路径是图像所在的位置,不知道是否正确。谢谢。
nfg76nw01#
我们无法看到您的拍照代码,但一般情况下,我们建议使用Xamarin.Essentials: Media Picker来实现这一点。MediaPicker类具有以下方法,它们都返回一个FileResult,可用于获取文件位置或将其作为Stream读取。
FileResult
*PickPhotoAsync:打开媒体浏览器以选择照片。*CapturePhotoAsync:打开相机拍照。*PickVideoAsync:打开媒体浏览器以选择视频。*CaptureVideoAsync:打开相机拍摄视频。
你可以参考下面的代码来拍照,并获取照片的路径:
async Task TakePhotoAsync() { try { var photo = await MediaPicker.CapturePhotoAsync(); await LoadPhotoAsync(photo); Console.WriteLine($"CapturePhotoAsync COMPLETED: {PhotoPath}"); } catch (FeatureNotSupportedException fnsEx) { // Feature is not supported on the device } catch (PermissionException pEx) { // Permissions not granted } catch (Exception ex) { Console.WriteLine($"CapturePhotoAsync THREW: {ex.Message}"); } }
你也可以按照这里的教程:Media Picker in Xamarin Forms - Xamarin Forms Tutorials .此外,您还可以使用MediaPlugin来实现这一点。
1条答案
按热度按时间nfg76nw01#
我们无法看到您的拍照代码,但一般情况下,我们建议使用Xamarin.Essentials: Media Picker来实现这一点。
MediaPicker类具有以下方法,它们都返回一个
FileResult
,可用于获取文件位置或将其作为Stream读取。*PickPhotoAsync:打开媒体浏览器以选择照片。
*CapturePhotoAsync:打开相机拍照。
*PickVideoAsync:打开媒体浏览器以选择视频。
*CaptureVideoAsync:打开相机拍摄视频。
你可以参考下面的代码来拍照,并获取照片的路径:
你也可以按照这里的教程:Media Picker in Xamarin Forms - Xamarin Forms Tutorials .
此外,您还可以使用MediaPlugin来实现这一点。