Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在Core Graphics中,为什么Alpha通道最重要?(KCGIMAGEAlpha预乘优先vs KCGIMAGEAlpha预乘最后)_Iphone_Ios_Core Graphics_Cgbitmapcontextcreate - Fatal编程技术网

Iphone 在Core Graphics中,为什么Alpha通道最重要?(KCGIMAGEAlpha预乘优先vs KCGIMAGEAlpha预乘最后)

Iphone 在Core Graphics中,为什么Alpha通道最重要?(KCGIMAGEAlpha预乘优先vs KCGIMAGEAlpha预乘最后),iphone,ios,core-graphics,cgbitmapcontextcreate,Iphone,Ios,Core Graphics,Cgbitmapcontextcreate,大多数创建位图上下文的代码使用kcGimageAlphaPremultipledFirst来创建ARGB,而不是使用kcGimageAlphaPremultipledLast来创建RGBA。是否有首选ARGB的原因 (用法): 我认为这与所用CPU的“端性”有关 以上两个常数指定alpha分量的位置以及颜色分量是否预乘。它可以存储在每个像素的最高或最低有效位中,不同的是,这两个常量的性能相同,在性能方面彼此没有偏好 对于在iOS 3.2及更高版本中创建的位图,绘图环境使用预乘ARGB格式存储位图

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

(用法):


我认为这与所用CPU的“端性”有关

以上两个常数指定alpha分量的位置以及颜色分量是否预乘。它可以存储在每个像素的最高或最低有效位中,不同的是,这两个常量的性能相同,在性能方面彼此没有偏好

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

但为什么这一点很重要呢?
CGBitmapContextCreate(NULL, size.width, size.height, 8, size.width * 4, 
    colorSpace, kCGImageAlphaPremultipliedFirst);