頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


コードで画像を影付き角丸にする

アプリ内に表示する画像を角丸にして影を付けたいのですが、ツールを使って角丸の画像を作成するのは面倒だし、マスクの画像を準備するのもやっぱり面倒。
ってことで、コードでやってみました。

元の画像
↑元の画像はこんなの。

コードはこんな感じに:
UIImage *image = [UIImage imageNamed:@"icon.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(xx, yy , image.size.width,image.size.height);
    
//影用のview
UIView *shadow = [[UIView alloc] initWithFrame:imageView.frame];
shadow.backgroundColor = [UIColor grayColor];
shadow.layer.shadowOpacity = 0.3f;
shadow.layer.shadowOffset = CGSizeMake(0, 2);
shadow.layer.cornerRadius = 10.f;
[self.view addSubview:shadow];
[shadow release];

[self.view addSubview:imageView];
imageView.layer.cornerRadius = 10.f;//角丸用
imageView.layer.masksToBounds = YES;//角丸用
[imageView release];
影を描くためにshadowってUIViewクラスのオブジェクトを用意し、画像の下側に置いてます(よって"影用のview"の部分が割り込んでる、読みにくくてすまん)。
単に角丸だけならこの部分は不要でcornerRadiusとmasksToBoundsを設定するだけでOK。

角丸+影付きの画像
↑こちらが結果の画像。
これで、角丸画像をツールで作らずに済むわ。

<< 配列にaddするならnilじゃなくて[NSNull null]  TopPage  もしかしてええんちゃうの?iOS 5.0.1 >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/521-fe416e0c




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad