나는ARGB 및 kCGImageAlphaPremultipliedFirst 형식입니다. 왜 픽셀 색상이 (255- 데이터)로 저장됩니까?
UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
// more code - not relevant - removed for debugging
image = UIGraphicsGetImageFromCurrentImageContext(); // the image is now ARGB
UIGraphicsEndImageContext();
가 그럼 난 (: Get Pixel color of UIImage를 여기에서 미나스 Petterson로 코드를 사용하여) 픽셀의 색상을 찾으려고 사용하여 이미지를 만들 수 있습니다. 이미지가 나는이와 수정 된 코드를했다 ARGB 형식으로 지금부터 그러나 :
alpha = data[pixelInfo];
red = data[(pixelInfo + 1)];
green = data[pixelInfo + 2];
blue = data[pixelInfo + 3];
그러나이 작동하지 않았다.
문제는 이미지가에서는 는 (예를 들어) RGBA에 적색 화소, 즉이 1,001로 표현된다 (실제로는 255 0 0 255하지만, 간략화를 위해 I는 0 ~ 1의 값을 사용한다)이다 으로 나타내지 만 이 아님 (내가 생각한대로) . 이유가 무엇입니까? 내가 뭔가 잘못하고 있는거야?
추신.
이alpha = 255-data[pixelInfo];
red = 255-data[(pixelInfo + 1)];
green = 255-data[pixelInfo + 2];
blue = 255-data[pixelInfo + 3];
A (바보) 용액 은밀한하는 것이다
가 ARGB, kCGImageAlphaPremultipliedFirst, 성분마다 8 비트 픽셀 당 4 개 개의 요소가 don't_care - 엔디 언 (즉 UIGraphicsGetImageFromCurrentImageContext()가 복귀 기능)하다고 가정 이 명령을 사용하여 이미지를 RGBA로 변환합니다. image = [UIImage imageWithData : UIImagePNGRepresentation (image)]; 하지만 내 문제를 해결할 수있는 더 나은 방법이 적어도 10 가지는 것 같습니다. – Gik