1

例如,我想在黑色画布上绘制图像,但结果总是白色,这是我的代码

-(UIImage*) renderImage
{
    UIGraphicsBeginImageContext(CGSizeMake(300, 300));
    [[UIColor blackColor] setFill];
    UIImage*resultImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return resultImage;
}

未来我将在画布内绘制图像,但现在我只想要一个黑色填充的画布。为什么这段代码不起作用

4

1 回答 1

1

您需要使用CGContextSetFillColorWithColor()颜色填充当前上下文。试试这个示例代码,你给它一个颜色和一个大小,它会返回一个 UIImage 满足你的标准。

- (UIImage *)renderImageWithColor:(UIColor *)color inSize:(CGSize)size
{
    CGRect rect = CGRectMake(0.0f, 0.0f, size.width, size.height);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(context, [color CGColor]);
    CGContextFillRect(context, rect);

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;
}
于 2013-08-15T14:49:58.663 回答