gpt4 book ai didi

iphone - iOS 256 色 (VGA) 到 RGB

转载 作者:行者123 更新时间:2023-11-29 13:50:33 26 4
gpt4 key购买 nike

我想在 iOS 上将 VGA 颜色(256 色;8 位)转换为 RGB 颜色。

是否可以计算这个或者我是否必须使用颜色表(使用 CGColorSpaceCreateIndexed)。

UIColor 不支持 256 色。

谢谢:)

最佳答案

在某个地方,您要移植的标题应该已经设置了调色板。在 VGA 上,256 种颜色通过一个表进行映射,程序员先前设置该表以将它们转换为 18 位 RGB 颜色(每个 channel 统一为 6 位)。如果您正在通过仿真运行原始标题,那么请注意写入端口 0x3c6、0x3c8 和 0x3c9 或通过 int 10h 调用 BIOS,其中 ax = 0x1010(设置单一颜色)或 0x1012(设置范围)。如果您有原始代码,显然要查找调色板表的来源。

在绘图方面,您可以自己保留调色板,例如作为 256 个 CGColorRefs 的 C 样式数组,或者按照您的建议使用 CGColorSpaceCreateIndexed(忽略 Apple 的轻微文档错误;颜色表最多可以包含 256 个条目,而不是最多 255) 可能带有位图上下文,以便将缓冲区传递给 CoreGraphics,然后忘记它。

我希望重新映射将在 CPU 上执行,因此如果这样做的成本太高,请考虑使用 GL ES 2.x 并编写合适的像素着色器——您可以将实际图像上传为亮度(即单 channel )纹理,加上一个 256x1 纹理,其中每个点的颜色是一个调色板条目,然后编写一个着色器,从第一个纹理读取当前纹理坐标,并使用该值来索引第二个。

关于iphone - iOS 256 色 (VGA) 到 RGB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836361/

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