3

大多数创建位图上下文的代码使用kCGImageAlphaPremultipliedFirst, 来创建 ARGB,而不是kCGImageAlphaPremultipliedLast创建 RGBA。是否有首选 ARGB 的原因?

(用法):

CGBitmapContextCreate(NULL, size.width, size.height, 8, size.width * 4, 
    colorSpace, kCGImageAlphaPremultipliedFirst);
4

2 回答 2

0

我认为这与所用 CPU 的“字节顺序”有关。

于 2012-06-01T06:26:34.633 回答
0

上面两个常量指定了 alpha 分量的位置以及颜色分量是否被预乘。它可以存储在每个像素的最高或最低有效位中,除了两个常数的性能相同之外,就性能而言,彼此没有优先权。

对于在 iOS 3.2 及更高版本中创建的位图,绘图环境使用预乘 ARGB 格式来存储位图数据。对于在 iOS 3.1.x 及更早版本中创建的位图,绘图环境使用预乘 RGBA 格式来存储位图数据。

于 2014-07-12T21:28:18.007 回答