2012-06-01 2 views
2

비트 맵 컨텍스트를 생성하는 대부분의 코드는 을 사용하여 kCGImageAlphaPremultipliedLast 대신 ARGB를 만들어 RGBA를 만듭니다. ARGB를 선호하는 이유가 있습니까?코어 그래픽에서 알파 채널이 가장 중요한 이유는 무엇입니까? (kCGImageAlphaPremultipliedFirst 대 kCGImageAlphaPremultipliedLast)

(사용이) :

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

답변

0

나는 그것이 사용되는 CPU의 '엔디안'함께 할 수있는 뭔가를 가지고있다 생각합니다.

+0

하지만 왜 한 가지 방법이나 다른 방식으로 중요합니까? –

0

위의 두 상수는 알파 구성 요소의 위치와 색상 구성 요소가 미리 곱셈되는지 여부를 지정합니다. 그것은 각각의 픽셀의 최상위 또는 최하위 비트에 저장 될 수 있는데, 두 상수 모두가 똑같이 수행된다는 것 이외에는 성능 측면에서 서로에 대해 우선 순위가 없습니다.

iOS 3.2 이상에서 생성 된 비트 맵의 ​​경우 드로잉 환경은 미리 곱셈 된 ARGB 형식을 사용하여 비트 맵 데이터를 저장합니다. iOS 3.1.x 및 이전 버전에서 생성 된 비트 맵의 ​​경우 드로잉 환경에서 미리 곱셈 된 RGBA 형식을 사용하여 비트 맵 데이터를 저장합니다.