2010-07-30 2 views
1

코코아 API를 사용한 이미지 처리에 대한 포괄적 인 예를 지적 해 줄 수 있습니까? Mac 용 응용 프로그램을 개발 중이며 iphone 장치 용 응용 프로그램이 아닙니다. 나는 일반적으로 UIImage 조작을 통해 픽셀 단위 조작 및 다른 형식의 파일 저장과 같은 작업을 수행하는 직관적 인 방법 세트를 제공합니다. Appkit의 경우, NSImage를 사용하면 이미지의 픽셀 데이터를 조작하고 TIFF가 아닌 PNG와 같은 다른 파일 형식으로 저장하는 것이 어려워집니다. 당신은 픽셀 작업 할 경우코코아 API를 사용한 포괄적 인 이미지 처리 예제

NSData *data = [bits representationUsingType: NSPNGFileType properties: nil]; 
[data writeToFile: @"/path-to-your-file/image.png" atomically: NO]; 

답변

4

:

0

다음을 수행

NSBitmapImageRep *rep = [[image representations] objectAtIndex: 0]; 
unsigned char *bmpData = [rep bitmapData]; 

가 PNG 형식으로 변형 된 표현을 저장하려면 데이터 이미지 객체의 비트 맵 표현을 검색하고 수정할 수 있습니다 , CGImage와 CGImageSource 그리고 CGImageDestination은 갈 길입니다. 모든 종류의 이미지를 처리하기 위해 일반적으로 설계된 AppKit의 NSImage와 달리 CGImage 클래스는 래스터 이미지 용으로 특별히 설계되었습니다.

+1

여러 표현이있을 수 있으며 # 0은 원하는 것으로 보장되지 않습니다. 또한, 'bitmapData'에서 가져온 픽셀을 조작해도 반드시 이미지 내용을 변경하는 데 문제가 없습니다. 변경을 원할 경우 수정 된 데이터에서 새로운 NSBitmapImageRep와 NSImage를 만들어야한다. – walkytalky

관련 문제