如何接收显示在.deb
下的“照片”并传递给Xamarin Forms中的变量?我在此行<Image x:Name="imageToUpload" WidthRequest="40" HeightRequest="40"/>
处需要获取文件/图像,需要将其传递到var file = await CrossMedia.Current.TakePhotoAsync(....
方法中并进一步保存到SQLite数据库中
RegisterSave_OnClicked()
//注册按钮保存下面的代码:
var file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
{
Directory = "Pictures",
Name = "test.jpg",
PhotoSize = PhotoSize.Small,
CompressionQuality = 75,
CustomPhotoSize = 5,
DefaultCamera = CameraDevice.Front,
});
答案 0 :(得分:1)
如果要将imageSource保存到数据库,我们可以将其转换为byte []数组。
public byte[] ReadFully(Stream input)
{
byte[] buffer = new byte[16*1024];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
}
MediaFile
具有GetStream().
您可以将其用于流,然后将其转换为字节[]。这是一种方法:
1。在contentPage中定义流
Stream imageStream;
拍照后将其初始化。
imageStream = file.GetStream();
点击按钮后调用它
var imageArr= ReadFully(imageStream );