2012-09-11 26 views
5

dışına Görüntü Alma: Ben PhotoAlbum içine Kameradan bir resimde koyuyorumMonoTouch: MonoTouch yılında ALAssetsLibrary.AssetForUrl

:

ALAssetsLibrary library = new ALAssetsLibrary(); 
library.WriteImageToSavedPhotosAlbum(photo.CGImage, meta, (assetUrl, error) => { 
    library.AssetForUrl(assetUrl, GotAsset, FailedGotAsset); 
}); 

Photo tüm orada, iyi çalışıyor.

Temsilci üzerinde GotAsset Resimden çıkış yapmaya çalışıyorum, ancak yalnızca Küçük Resim var. Resim nerede? İşte

void GotAsset(ALAsset asset) 
    { 
     //asset has only thumbnail info??? 
    } 

gibi varlık görünüyor: Sen görmüyoruz

enter image description here

cevap

4

zamanında, cihazların her özellikler bağlayıcı etkinleştirildiğinde, varsayılan olarak, (yönetilen), çünkü (Link SDK). Bu, özellikler dahil olmak üzere herhangi bir kodu kaldıracaktır, uygulamanız kullanılmıyor (ve tonlarca KB ve dağıtım süresinden tasarruf etmenizi sağlar).

Kendi varlıklarınızı (simülatörde) ekleyerek bunu simülatörde ('u bağlamaz) hata ayıklamayı deneyebilirsiniz. Başka bir yol ise, geçici olarak cihazınızdaki linker'i devre dışı bırakmaktır.

Her iki durumda da, ALAsset belgelendirilmiş tüm özellikleri göstermelidir. Poupou yardımıyla @ dayanarak

+0

bir fikrin nasıl resim dosyası hazır File.ReadAllBytes gibi() üzerine? Bunun için bu varlık kütüphanesi URL'sini kullanamıyorum. Bu özel durumda, dosyayı bir sunucuya yüklemek istiyorum, böylece gerçek dosya yoluna erişmem gerekiyor. – nhenrique

1

burada yapmak için eklenen kod iş bu:

void GotAsset(ALAsset asset) 
    { 
     ALAssetRepresentation rep = asset.DefaultRepresentation; 
     var iref = rep.GetImage(); 
     if(iref!=null) 
      DoStuffWithUIImage(UIImage.FromImage(iref)); 
    } 
İlgili konular