バイト配列の画像を一時保存しNSUrlを取得する方法 | Xamarin.iOS
- 2017/07/15
- 15:57
今回はXamarin.iOSでバイト配列の画像からNSUrlを取得する方法についてご紹介いたします。単純に変換することはできませんので、一時的にPNGファイルとして保存し、そのファイルパスからNSUrlを取得することができました。
前提条件
・Windows10 Pro 64Bit
・Visual Studio 2015 Community Update3
・Xamarin 4.3.0.795 (NuGet Xamarin.Forms 2.3.4.247)
・macOS Sierra 10.12.4 / Xcode8.3.1 / Xamarin.iOS 10.6.0.10
1.iOSでの実装方法
iOSプロジェクトに記述します。public static NSUrl GetNsUrl(byte[] imageArray)
{
//(1)バイト配列からUIImageに変換する
var data = NSData.FromArray(imageArray);
var image = UIImage.LoadFromData(data);
//(2)ドキュメントパスを取得し、ファイル名を設定する
string path = Common.GetDocumentPath();
if (!path.EndsWith("/"))
{
path += "/";
}
path += "temp.png";
//(3)ファイルを保存する
NSError error;
using (NSData imageData = image.AsPNG())
{
imageData.Save(path, false, out error);
}
//(4)ファイルパスからNSUrlを取得する
NSUrl url = NSUrl.FromString("file:///" + path);
return url;
}
※Common.GetDocumentPath(ドキュメントパスを取得する方法)については以前の記事の中でご紹介していますので、ご参考ください。
最後までお読みいただきありがとうございます。
当ブログの内容をまとめた Xamarin逆引きメニュー は以下のURLからご覧になれます。
http://itblogdsi.blog.fc2.com/blog-entry-81.html
- 関連記事
-
- aapt.exeはコード1を伴って終了しました -エラーの対応方法- | Xamarin.Forms
- Androidの通知にスタイルを適用する方法 | Xamarin.Forms
- バイト配列の画像を一時保存しNSUrlを取得する方法 | Xamarin.iOS
- iOS10の通知にアクションボタンを追加する方法 | Xamarin.Forms
- iOS10の通知に画像を表示する | Xamarin.Forms