Je dois capturer une image de ma caméra en utilisant xamarin.forms portable, et obtenir l'accès aux données octet [] à des fins de traitement d'image.Xamarin: Comment capturer les données image (pas seulement pour l'affichage) sur l'application portable
Comment cela peut-il être fait?
J'ai le code de travail qui capture l'image et montre simplement, en utilisant xlabs
public async Task<MediaFile> TakePicture()
{
Setup();
ImageSource = null;
return await _Mediapicker.TakePhotoAsync (new CameraMediaStorageOptions {
DefaultCamera = CameraDevice.Front, MaxPixelDimension = 400
}).ContinueWith (t => {
if (t.IsFaulted)
{
Status = t.Exception.InnerException.ToString();
}
else if (t.IsCanceled)
{
Status = "Canceled";
}
else
{
MediaFile mediaFile = t.Result;
ImageSource = ImageSource.FromStream(() => mediaFile.Source);
return mediaFile;
}
return null;
}, _scheduler);
}
et
private async void buttonTakePicture_Clicked() {
await cameraViewModel.TakePicture();
imageView.Source = cameraViewModel.ImageSource;
}
cliquant sur le bouton lance cameraViewModel.TakePicture()
qui utilise à son tour xlabs pour prendre réellement la photo sur l'appareil.
Comment puis-je modifier le code pour me donner également les données brutes d'image (ou utiliser un code différent)?
Merci
que doit-on donner dans le paramètre path? D'où vient la caméra? – Gulzar
vous devriez passer la propriété MediaFile Path que vous obtenez à partir du plugin de la caméra à 'MediaFile mediaFile = t.Result;' –