C# 如何获取在Xamarin拍摄的照片的宽度
我有以下代码在Xamarin中拍照:C# 如何获取在Xamarin拍摄的照片的宽度,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我有以下代码在Xamarin中拍照: MediaFile photo = await Plugin.Media.CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions() { SaveToAlbum = true, Name = fileName }); 但是,在我拍完照片后,我想检索图像的宽度。我想可能会有一个: photo.
MediaFile photo = await Plugin.Media.CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions()
{
SaveToAlbum = true,
Name = fileName
});
但是,在我拍完照片后,我想检索图像的宽度。我想可能会有一个:
photo.Width
但事实并非如此。StoreCameraMediaOptions
上有一个PhotoSize
属性,但这似乎是一种指定大小而不是检索大小的方法
在Xamarin或现有的插件中有没有实现这一点的方法?这可能会帮助您
使用
FFImageLoading
的ImageInformation
类为您提供原始高度和宽度,
您可以将媒体文件分配给图像,然后获取渲染该媒体文件的图像的宽度
var image = new CachedImage()
{
Source = ImageSource.FromStream(() => photo.GetStream())
};
image.Success += (sender, e) =>
{
var h = e.ImageInformation.OriginalHeight;
var w = e.ImageInformation.OriginalWidth;
};
希望这个能有帮助我确实考虑过了,但是我需要原始图像的大小。据我所知,这将给我屏幕上显示的图像大小。它将给你原始大小。您也可以在不使用任何视图的情况下调用它:ImageService.Instance.LoadStream(…).Success(info=>{//info.OriginalHeight etc})
var image = new CachedImage()
{
Source = ImageSource.FromStream(() => photo.GetStream())
};
image.Success += (sender, e) =>
{
var h = e.ImageInformation.OriginalHeight;
var w = e.ImageInformation.OriginalWidth;
};