我想从资源库网址
获取UIImage
我是xamarin ios中的开发应用程序,试图从给定的Asset-Library-Url获取UIImage对象。
使用ELCImagePickerViewController
从图库中挑选多个图片。
所有图像路径都添加到字符串数组列表中
现在,我需要使用Asset-Library-Url路径获取Byte[]
中的所有图片。
给定的网址是:
?资产库://asset/asset.JPG ID = 0E126068-14F9-431F-91B5-8BC397727656&安培; EXT = JPG
我尝试了以下方法:
static UIImage FromUrl(string uri)
{
using (var url = new NSUrl(uri))
using (var data = NSData.FromUrl(url))
return UIImage.LoadFromData(data);
}
但它总是返回null。 谁能告诉我这里我做错了什么?
答案 0 :(得分:0)
这些网址适用于ALAssetsLibrary
,您需要使用ALAssetsLibrary
来访问它们。见下面的例子:
public Byte[] LoadAssetAsByteArray(string uri)
{
var nsUrl = new NSUrl(uri);
var asset = new ALAssetsLibrary();
Byte[] imageByteArray = new Byte[0];
UIImage image;
asset.AssetForUrl(nsUrl,(ALAsset obj) => {
var assetRep = obj.DefaultRepresentation;
var cGImage = assetRep.GetFullScreenImage();
image = new UIImage(cGImage);
// get as Byte[]
imageByteArray = new Byte[image.AsPNG().Length];
//imageView.Image = image;
},
(NSError err) => {
Console.WriteLine(err);
});
return imageByteArray;
}
使用Xamarin Site的UIImagePickerController
有一个很棒的食谱我相信会帮助你