コメント
コメントの投稿
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。
using CoreGraphics;
public void SaveToAlbum(byte[] imgArray)
{
//バイト配列をUIImageに変換する
var uiImage = UIImage.LoadFromData(imgArray);
//フォトアルバムに保存する
uiImage.SaveToPhotosAlbum((image, error) => {
var o = image as UIImage;
Console.WriteLine("error:" + error?.LocalizedFailureReason + System.Environment.NewLine +
error?.LocalizedDescription);
});
}
public void SaveToAlbum(NSUrl url)
//iOS10以降
if (UIDevice.CurrentDevice.CheckSystemVersion(10, 0))
{
if (Photos.PHPhotoLibrary.AuthorizationStatus == Photos.PHAuthorizationStatus.NotDetermined ||
Photos.PHPhotoLibrary.AuthorizationStatus == Photos.PHAuthorizationStatus.Authorized)
{
Photos.PHPhotoLibrary.SharedPhotoLibrary.PerformChanges(() =>
{
Photos.PHAssetChangeRequest.FromImage(url);
}, (success, err) =>
{
if (!success)
{
Debug.WriteLine(err?.LocalizedDescription + System.Environment.NewLine + err?.LocalizedFailureReason);
}
});
}
}
}
TweetStation.Camera.TakePicture (this, (obj) =>{
//デバイスからデータを受け取る
var photo = obj.ValueForKey(new NSString("UIImagePickerControllerOriginalImage")) as UIImage;
var meta = obj.ValueForKey(new NSString("UIImagePickerControllerMediaMetadata")) as NSDictionary;
//フォトアルバムに保存する
AssetsLibrary.ALAssetsLibrary library = new AssetsLibrary.ALAssetsLibrary();
library.WriteImageToSavedPhotosAlbum (photo.CGImage, meta, (assetUrl, error) =>{
Console.WriteLine ("assetUrl:"+assetUrl);
});
});
<plist version="1.0">
<dict>
<key>NSPhotoLibraryUsageDescription</key>
<string>Please allow the application to display the photo library.</string>
</dict>
</plist>
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。