Я разрабатываю программное обеспечение для фотографий на Xamarin.iOS. Я использую класс PHPhoto.
Когда я делаю фото, я пытаюсь отправить его в Интернет. Я планирую отправлять их байтами []. Где взять данные для фотографии в методе DidFinishCapture? Когда я запускаю отладку, я вижу, что PHPhotoLibrary.SharedPhotoLibrary.PerformChanges () автоматически сохранит фотографии в библиотеке фотографий.
Как получить фотографии по байту []? Я не нашел его в PhotoData.
Я думал, что в LivePhotoCompanionMovieUrl есть путь для сохраненных фотографий, но он всегда имеет значение null.
public partial class PhotoCaptureDelegate : AVCapturePhotoCaptureDelegate
{
public override void DidFinishCapture(AVCapturePhotoOutput captureOutput,
AVCaptureResolvedPhotoSettings resolvedSettings,
NSError error)
{
PHPhotoLibrary.RequestAuthorization(status =>
{
if (status == PHAuthorizationStatus.Authorized)
{
PHPhotoLibrary.SharedPhotoLibrary.PerformChanges(() =>
{
var creationRequest = PHAssetCreationRequest.CreationRequestForAsset();
creationRequest.AddResource(PHAssetResourceType.Photo, PhotoData, null);
var url = LivePhotoCompanionMovieUrl;
if (url != null)
{
var livePhotoCompanionMovieFileResourceOptions = new PAssetResourceCreationOptions
{
ShouldMoveFile = true
};
creationRequest.AddResource(PHAssetResourceType.PairedVideo, url, livePhotoCompanionMovieFileResourceOptions);
}
}, (success, err) =>
{
if (err != null)
Debug.WriteLine($"Error occurered while saving photo to photo library: {error.LocalizedDescription}");
});
}
});
}
}
}