3
나는 알파 채널을 가진 UIImage를 가지고있다.IPHONE : UIIMage의 RGB 채널을 어떻게 추출합니까?
UIImage의 RGB 채널을 각각 어떻게 추출합니까? 각 채널은 알파가있는 독립적 인 UIImage가 될까요?
미리 감사드립니다.
나는 알파 채널을 가진 UIImage를 가지고있다.IPHONE : UIIMage의 RGB 채널을 어떻게 추출합니까?
UIImage의 RGB 채널을 각각 어떻게 추출합니까? 각 채널은 알파가있는 독립적 인 UIImage가 될까요?
미리 감사드립니다.
마찬가지로 this.
UIImage* image = ...; // An image
NSData* pixelData = (NSData*) CGDataProviderCopyData(CGImageGetDataProvider(image.CGImage));
void* pixelBytes = [pixelData bytes];
//Leaves only the green pixel, assuming 32-bit RGBA
for(int i = 0; i < [pixelData length]; i += 4) {
bytes[i] = 0; // red
bytes[i+1] = bytes[i+1]; // green
bytes[i+2] = 0; // blue
bytes[i+3] = 0; // alpha
}
NSData* newPixelData = [NSData dataWithBytes:pixelBytes length:[pixelData length]];
UIImage* newImage = [UIImage imageWithData:newPixelData];
here에서 적응 : 세 번째 대답 편집증 세부
에서 그리고 픽셀을 액세스하고 새로운있는 UIImage로 저장을위한 몇 가지 코드 -
는 또한, this question에서 봐. 세 개의 별개 채널을 별도의 이미지로 만들려면 코드에서와 같이하고 매번 저장하려는 채널을 제외하고 모두 0으로 설정 한 다음 새 이미지를 만듭니다.
감사합니다. 거의 없지만 이미지를 만드는 방법이 나와 있지 않습니다. – SpaceDog
원래의 알파를 존중하는 R, G, B 각 채널당 3 개의 이미지를 만들어야합니다. – SpaceDog
새 링크로 편집 중 ... – luvieere