酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

iOSで1色だけの空のUIImageを新しく作る

// 1色だけの空のUIImageを作る
- (UIImage *)imageWithColor:(UIColor *)color rect:(CGRect)rect
{
    UIImage *image = nil;
    
    // ビットマップ形式のグラフィックスコンテキストの生成
    UIGraphicsBeginImageContext(rect.size);
    
    // 現在のグラフィックスコンテキストを取得する
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(context, color.CGColor);
    CGContextFillRect(context, rect);
    
    // 現在のグラフィックスコンテキストの画像を取得する
    image = UIGraphicsGetImageFromCurrentImageContext();
    
    // 現在のグラフィックスコンテキストへの編集を終了
    // (スタックの先頭から削除する)
    UIGraphicsEndImageContext();
    
    return image;
}