在MonoTouch中:
我将相机中的图像放入PhotoAlbum:
ALAssetsLibrary library = new ALAssetsLibrary();
library.WriteImageToSavedPhotosAlbum(photo.CGImage, meta, (assetUrl, error) => {
library.AssetForUrl(assetUrl, GotAsset, FailedGotAsset);
});
Photo
就在那里,效果很好。
在委托GotAsset
上我试图取出图像,但只有缩略图在那里。图像在哪里?
void GotAsset(ALAsset asset)
{
//asset has only thumbnail info???
}
这是资产的样子:
答案 0 :(得分:4)
在运行时,您没有看到设备上的每个属性,因为默认情况下,(托管)链接器已启用(链接SDK )。这将删除您的应用程序未使用的任何代码(包括属性)(并节省大量的KB和部署时间)。
您可以尝试通过添加自己的资源(在模拟器中)在模拟器上调试此功能(默认为不链接)。另一种方法是暂时禁用设备构建中的链接器。
在任何一种情况下,您的ALAsset
都应显示所有已记录的属性。
答案 1 :(得分:1)
基于@Poupou的帮助,这里是为了让它起作用而添加的代码:
void GotAsset(ALAsset asset)
{
ALAssetRepresentation rep = asset.DefaultRepresentation;
var iref = rep.GetImage();
if(iref!=null)
DoStuffWithUIImage(UIImage.FromImage(iref));
}