我一直在尝试从使用Microsoft.Maui.Media.MediaPicker
拾取的图像中获取Microsoft.Maui.Graphics.IImage
对象。
我试着用
var file = await MediaPicker.PickPhotoAsync(new MediaPickerOptions
{
Title = "Pick a photo"
});
var memoryStream = new MemoryStream();
var filestream = await file.OpenReadAsync();
await filestream.CopyToAsync(memoryStream);
byte[] byteArray = memoryStream.ToArray();
Microsoft.Maui.Graphics.IImage image;
Microsoft.Maui.Graphics.IImage newImage;
image = Microsoft.Maui.Graphics.Platform.PlatformImage.FromStream(memoryStream);
if (image != null)
{
newImage = image.Resize(720, 1280, ResizeMode.Stretch, true);
}
现在,执行抛出错误"Object not set to a instance of the object".我调试了一下,发现虽然照片正在被拾取并加载到Memory Stream中,但'image'变量在被赋予该行中的值后并没有存储数据:
image = Microsoft.Maui.Graphics.Platform.PlatformImage.FromStream(memoryStream);
条件:
if (image != null)
返回true,但使用resize函数会引发"Object not set to a instance of the object"错误。
1条答案
按热度按时间nue99wik1#
为什么不用字节数组呢
试试这样的方法:
因此,请使用
LoadImageFromBytes
此处为文档希望有帮助。