iOS -- 生成一张Image

时间:2022-11-16 20:24:52

设置button的时候,需要在normal状态和selected状态设置不同的颜色,然而背景颜色没有状态可言。所以设置不同颜色图片的backImg就OK

/**返回一张指定大小,指定颜色的图片*/
- (UIImage *)newImageWithSize:(CGSize) size color:(UIColor *)color
{
    // UIGrphics
    // 设置一个frame
    CGRect rect = CGRectMake(0, 0, size.width, size.height);
    // 开启图形绘制
    UIGraphicsBeginImageContext(size);

    // 获取当前图形上下文
    CGContextRef context = UIGraphicsGetCurrentContext();

    // 设置填充颜色
    CGContextSetFillColorWithColor(context, color.CGColor);

    // 填充
    CGContextFillRect(context, rect);

    // 从当前图形上下文中获取一张透明图片
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    // 关闭图形绘制
    UIGraphicsEndImageContext();

    return img;
}