从像素阵列生成图像(快速)

问题描述 投票:0回答:1

我想快速生成网格图片或位图或任何与原始像素数据类似的东西。由于在用户打开应用程序或按下刷新按钮之前无法确定像素位置,图像大小等,因此我需要一种快速的方法来生成2732x2048或更多的单个像素并将其显示在屏幕上。

首先,我确实使用了UIGraphicsBeginImageContextWithOptions并用1x1 CGRect绘制了每个像素,但这显然缩放不好。

[之后,我使用了这种方法:Pixel Array to UIImage in Swift但这对于较大的屏幕仍然有点慢。

MetalKit可以完成类似的事情吗?我认为较低的api确实可以更快地渲染类似内容?

或者在MetalKit和CoreGraphics之间是否有更好的方法来处理类似的东西?


有关我的数据结构的一些信息:

有一个struct,每个像素的像素颜色数据red, green, blue, alpha被存储为Array和两个图像尺寸变量:imageHeightimageWidth

ios swift core-graphics metal
1个回答
0
投票

最有效的方法是使用Metal Compute Function

Apple有很好的文档来说明GPU编程。

© www.soinside.com 2019 - 2024. All rights reserved.