2010-08-09 5 views
0

CGImageRef를 CGImageSource를 통해, 다른 경우에는 CGDataProvider를 통해 원시 비트 맵 데이터를, 다른 경우에는 NSImage를 통해 PDFPage에서 CGImageRef를 생성합니다. CGImage의 해상도를 알아야합니다. 이것을 쉽게 찾을 수있는 방법이 있습니까?CGImageRef에서 해상도 얻기

PDFPage의 경우 pixelwidth 및 pointwidth를 가져 와서 산술을 수행 할 수 있어야합니다. 그러나 다른 두 경우에는 원본에서 해상도 (또는 포인트 폭, 또는 실제 너비 또는 이와 유사한 것)를 얻을 수있는 방법이 없습니다.

실제로 Raw 비트 맵의 ​​경우 별도로 해상도가 있지만, 별도로 처리해야하는지 또는 CGImageRef에서 벗어나는 영리한 방법이 있는지 궁금합니다.

답변

1

CGImage 객체는 많은 메타 데이터없이 일반 비트 맵 이미지입니다. 물리적 인 이미지 크기 나 해상도 (픽셀 크기 제외)와 같은 정보를 전달하지 않습니다. 처음에 이미지가있는 소스에서이 데이터를 가져와야합니다. 이미지 파일의 경우 NSImage는 size 속성을가집니다.

+0

오케이, 그래서 나는 그것을 나 자신 주위에 가지고 다닐 것이다. 좋아, 방금 CGImageRef와 해상도를 가진 Image 클래스를 만들었습니다. 어떻게하면 CGImageSource의 해상도를 얻을 수 있습니까? 아마 그 정보를 가지고 있지만 그것이 제공하는 사전은 어떤 메타 데이터도 가지고 있지 않은 것 같습니다 ... –

+0

사전에 해상도/물리적 크기 정보가 있습니다. 파일 형식 하위 사전이 있는지 확인하십시오. –