*

写真のサイズに合ったフレームを設定するには

   

MS251_eibunsicamera500

Snowflakeでは、縦、横、正方形の写真に対応してフレームを設定するようにしています。

今回はその方法のご紹介です。

縦、横、正方形にあったフレームを作る

そのまんまです。

縦、横、正方形にあったフレームを作ります。

Snowflakeでは大きめに以下のサイズのフレームを作りました。

縦:1224×1632
横:1632×1224
正方形:1000×1000

そして、アプリ内で取得した写真のサイズに合わせて使うフレームを決めます。


    //取得した画像の縦サイズ、横サイズを取得する
    snowflakeAppDelegate *appDelegete = (snowflakeAppDelegate*)[[UIApplication sharedApplication] delegate];
    _originalImage = appDelegete.orgImage;
    int imageW = _originalImage.size.width;
    int imageH = _originalImage.size.height;
    NSLog(@"%d",imageW);
    NSLog(@"%d",imageH);

    UIImageView *cameraImageView = [[UIImageView alloc]init];
    cameraImageView.contentMode = UIViewContentModeScaleAspectFit;

    //画像を表示する。
    if(imageW == imageH)
    {
        //正方形写真を取り込んだ場合
        cameraImageView.image = [UIImage imageNamed:@"filter7_snowflake_filter_sq1.png" ];
    }
    else if(imageW > imageH)
    {
        //横向きの場合
        cameraImageView.image = [UIImage imageNamed:@"filter7_snowflake_filter_wd1.png" ];
    }
    else{
        //縦向きの場合
        cameraImageView.image = [UIImage imageNamed:@"filter7_snowflake_filter1.png" ];
    }

と、こんな感じです。

もちろん、縦横比が4:3、または3:4と異なるサイズの写真はフレームがはみ出ますが、それには目をつぶっています。

ちょっと参考になるかは分かりませんが、

いかがでしょうか。

 - objective-c, アプリ