如何渲染屏幕外IOS

时间:2015-03-07 18:59:42

标签: ios objective-c swift rendering cgcontext

我正在尝试在swift中进行元数据实现,但在途中遇到了这个问题。基本上我需要在屏幕外绘制一些α径向渐变,然后检查每个像素值,看它是否高于某个α阈值,如果它比像素变黑,否则它是白色。

问题在于我无法弄清楚如何创建我可以绘制的屏幕外环并执行计算然后在屏幕上显示它。

我无休止地搜索,但我对UIcontexts和CGContext之间的差异感到非常困惑。在我目前的尝试中,我使用CGBitmapContext但无济于事。任何帮助将不胜感激(最好是迅速,但任何事情都有)。

2 个答案:

答案 0 :(得分:1)

您可以按照here所述绘制到位图图形上下文。

答案 1 :(得分:1)

以下是如何创建图像上下文,使用CG调用绘制它,然后获取UIImage:

// Create an N*N image
CGSize size = CGSizeMake(N, N);
UIGraphicsBeginImageContext(size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
// EG:
CGColorRef backColor = [UIColor lightGrayColor].CGColor;
CGContextSetFillColorWithColor(ctx, backColor);
CGContextFillRect(ctx, r1);
.... more drawing code 
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

您可以非常轻松地获得CGImageRef:

CGImageRef cgImage = image.CGImage;

最后,您可以按照here所述获取基础字节。