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;
});
};
然而,這種失敗與錯誤信息的android:
位圖太大,無法上傳到紋理( 5312x2988,max = 4096x4096)
有沒有辦法解決這個問題?理想情況下使用PCL位圖庫
插件的測試版本允許你指定大小和壓縮˚F演員爲圖像 – Jason
@Jason我將PhotoSize設置爲Plugin.Media.Abstractions.PhotoSize.Small和CompressionQuality爲92,我得到相同的錯誤信息。有任何想法嗎? – jonesne
您可以使用https://github.com/luberda-molinet/FFImageLoading作爲圖像視圖。它具有DonwsampleToSize屬性,它將縮減您的圖像以匹配您的圖像視圖,它將消除此錯誤 – Greensy