2013年12月17日火曜日

iOSでALAssetの誰でもはまるtips【回転】【取得】

*画像とると回転してる

 - 対策
以下のように画像を取得しましょう。保存されている画像がなぜか回転しているので
representationのorientationを指定する必要がある。

ALAsset *aseet = (ALAsset *)[self.assets objectAtIndex:currentAssetIndex];
ALAssetRepresentation *representation = [asset defaultRepresentation];
UIImage *img = [UIImage imageWithCGImage:[representation fullScreenImage]
                                   scale:[representation scale]
                             orientation:[representation orientation]];

*UIImageをNSMutableArrayとかにつっこみすぎて落ちる

- 対策
画像のURLかAssetそのものをつっこみましょう。
 ALAssetRepresentation *defaultRepresentation = [asset defaultRepresentation];
NSURL url = [defaultRepresentation url];

or
                                                               
[asset valueForProperty:ALAssetPropertyAssetURL]

とかでURLがとれます。


*ALAssetsGroupのフィルターを使っていない

allAssets
allPhotos
allVideos
の三種類が使える。

*サムネが簡単に取れる事を知らないで画像を四角に切ったりしちゃう

四角に切るには
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.clipsToBounds = YES;

http://d.hatena.ne.jp/shoby/20110408/1306336050

そうじゃなくて
UIImage* _image = [UIImage imageWithCGImage:[asset thumbnail]];


参考は以下
Assets Library からの読み込みを高速化するための試行錯誤 - Over&Out その後
ALAsset *aseet = (ALAsset *)[self.assets objectAtIndex:currentAssetIndex]; ALAssetRepresentation *re ...


0 件のコメント:

コメントを投稿

ShareThis