gpt4 book ai didi

iphone - 如何使用 Core Graphics 渲染到离屏位图,然后传输到屏幕

转载 作者:行者123 更新时间:2023-12-03 18:20:53 25 4
gpt4 key购买 nike

我想渲染到离屏位图(或 RGBA 值数组),然后在 View 的 drawRect 函数中将它们传输到 UIView 。我更愿意进行完整的 32 位渲染(包括 Alpha channel ),但也满足于 24 位渲染。

有人介意用一些代码片段或相关 API 为我指明正确的方向吗?

此外,我确切地知道如何使用 OpenGL 来完成这项工作 - 我只是更喜欢在 Core Graphics 本身中完成这项工作。

最佳答案

渲染到离屏上下文并将其保存为 CGImageRef:

void *bitmapData = calloc(height, bytesPerLine);
CGContextRef offscreen = CGBitmapContextCreate(..., bitmapData, ...)
// draw stuff into offscreen
CGImageRef image = CGBitmapContextCreateImage(offscreen);
CFRelease(offscreen);
free(bitmapData);

将其绘制在屏幕上:

- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextDrawImage(context, rect, image);
}

您还可以将图像保存在 View 图层的内容属性 (view.layer.contents = image) 中,或使用 UIImageView。

关于iphone - 如何使用 Core Graphics 渲染到离屏位图,然后传输到屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/410313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com