5

MonoTouchの場合:

カメラからフォトアルバムに画像を入れています。

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???
    }

アセットは次のようになります。

ここに画像の説明を入力してください

4

2 に答える 2

4

デフォルトでは(管理対象)リンカーが有効になっているため(Link SDK )、実行時にデバイスのすべてのプロパティが表示されるわけではありません。これにより、アプリケーションが使用していないプロパティを含むすべてのコードが削除されます(そして、KBとデプロイメント時間が大幅に節約されます)。

(シミュレーターに)独自のアセットを追加することにより、シミュレーター(デフォルトではリンクしない)でこれをデバッグすることができます。もう1つの方法は、デバイスビルドでリンカーを一時的に無効にすることです。

いずれの場合も、ALAsset文書化されたすべてのプロパティを表示する必要があります。

于 2012-09-11T12:18:56.353 に答える
1

@Poupouのヘルプに基づいて、これを機能させるために追加したコードを次に示します。

    void GotAsset(ALAsset asset)
    {
        ALAssetRepresentation rep = asset.DefaultRepresentation;
        var iref = rep.GetImage();
        if(iref!=null)
            DoStuffWithUIImage(UIImage.FromImage(iref));
    }
于 2012-09-11T15:25:26.767 に答える