Objective-Cで画像にマスクを適用するサンプルを以下に作成しました。
サンプルでは、Imageクラスにある maskというシングルトンメソッドを呼ぶ事で、画像にマスクを適用しています。
下記よりサンプルのダウンロードが行えます。
ダウンロード
ソースコード
Image.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| //画像にマスクをかける
+ (UIImage *)mask:(UIImage *)image
withMask:(UIImage *)maskImage
{
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
return [UIImage imageWithCGImage:masked];
}
|
サンプルソースコード
ViewController.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| - (void)setMaskedImage
{
//オリジナル画像
UIImage *contentImage = [Image resize:[Image getUIImageFromResources:@"Pandora_640_1136" ext:@"jpg"]
rect:CGRectMake(0, 0, 320, 568)];
//マスク画像
UIImage *maskImage = [Image resize:[Image getUIImageFromResources:@"mask" ext:@"png"]
rect:CGRectMake(0, 0, 320, 568)];
//マスク適用
UIImage *maskedImage = [Image mask:contentImage
withMask:maskImage];
//UIImageViewに格納
UIImageView *maskedImageView = [[UIImageView alloc] initWithImage:maskedImage];
//画面に追加
[self.view addSubview:maskedImageView];
}
|
お薦めの参考書
絶対に挫折しない iPhoneアプリ開発「超」入門 増補改訂第4版
Swiftについて知りたい開発者の方のみならず、プログラミング未経験者の方にも参考になる内容になっています。Swiftの基礎を一から丁寧に解説されており、この書籍があればネットで調べる手間をかなり省くことができると思います。