我有以下代码在Xamarin中拍照:
MediaFile photo = await Plugin.Media.CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions()
{
SaveToAlbum = true,
Name = fileName
});
但是,在拍摄照片之后,我想获取图像的宽度。我以为可能有一个:
photo.Width
但是没有。 PhotoSize
上有一个StoreCameraMediaOptions
属性,但这似乎是一种决定大小而不是检索大小的方法。
是否可以在Xamarin或现有的插件中完成此操作?
答案 0 :(得分:2)
使用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;
};
希望这可能有所帮助。
答案 1 :(得分:-1)
在这里,这可能会帮助您...
public static Size GetImageSize(string fileName)
{
#if __IOS__
UIImage image = UIImage.FromFile(fileName);
return new Size((double)image.Size.Width, (double)image.Size.Height);
#endif
return Size.Zero;
}