0
私はXamarinフォームアプリケーションで優れたXam.Plugin.Media Nugetパッケージを使用して、ユーザーが写真を撮ることを許可しています。私はXam.Plugin.Mediaのgithubのページからサンプルコードに従っている:テクスチャにアップロードするには大きすぎるXam.Media.Pluginテクスチャにアップロードするには大きすぎるビットマップ
ビットマップ(:
takePhoto.Clicked += async (sender, args) => { await CrossMedia.Current.Initialize(); if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { DisplayAlert("No Camera", ":(No camera available.", "OK"); return; } var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { Directory = "Sample", Name = "test.jpg" }); if (file == null) return; await DisplayAlert("File Location", file.Path, "OK"); image.Source = ImageSource.FromStream(() => { var stream = file.GetStream(); file.Dispose(); return stream; }); };
はしかし、これはエラーメッセージを表示してアンドロイドに失敗します5312x2988、最大= 4096x4096)
これには何らかの方法がありますか?理想的にはPCLビットマップライブラリを使用する
プラグインのベータ版を使用すると、サイズと圧縮Fを指定することができます画像の俳優 – Jason
@Jason PhotoSizeをPlugin.Media.Abstractions.PhotoSize.SmallとCompressionQualityに設定して92と同じエラーメッセージが表示されます。何か案は? – jonesne
画像ビューにはhttps://github.com/luberda-molinet/FFImageLoadingを使用できます。それはDonwsampleToSize属性を持っています。これはあなたの画像ビューに一致するように画像をダウンサンプリングし、このエラーを排除します – Greensy