【问题标题】:How to render offscreen IOS如何渲染离屏IOS
【发布时间】:2015-03-07 18:59:41
【问题描述】:

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

问题是我不知道如何制作一个我可以绘制并执行计算然后在屏幕上显示的屏幕外上下文。

我没完没了地搜索,但我对 UIcontexts 和 CGContext 之间的区别感到非常困惑。在我目前的尝试中,我使用了 CGBitmapContext 但无济于事。任何帮助将不胜感激(最好是迅速的,但任何事情都会发生)。

【问题讨论】:

    标签: ios objective-c swift rendering cgcontext


    【解决方案1】:

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

    【讨论】:

    • @egdenis 如果这没有帮助,您可能应该发布(相关摘录)您当前的代码。
    【解决方案2】:

    您可以通过以下方式创建图像上下文,使用 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 的说明获取底层字节。

    【讨论】:

      猜你喜欢
      • 2023-02-10
      • 1970-01-01
      • 1970-01-01
      • 2018-06-11
      • 2011-04-20
      • 1970-01-01
      • 2019-01-01
      • 1970-01-01
      相关资源
      最近更新 更多