2015-01-05 3 views
1

이미지를 NSImageView에 놓고 이미지의 크기를 출력합니다. 이것은 표준 이미지에서는 잘 작동하지만 망막이 아닌 크기의 망막 이미지의 크기를 출력하고 싶습니다. 예를 들어 100x100 @ 2x 이미지와 같이 50x50의 크기를 출력하고 싶습니다. 파일 이름을 탐지하는 것 외에도이 작업을 수행하는 방법을 알 수 없습니다. 출력 크기를 조작 할 수 있도록 이미지의 크기를 감지하는 방법이 있습니까?레티 나 NSImage의 크기 감지

+0

일반적인 명명 규칙은 100x100 @ 2x 이미지가 200x200 픽셀이고 50x50 픽셀이 아니라는 것을 의미합니다. 'NSImage'는 여러 표현을 가질 수 있습니다. 이미지의 크기는 픽셀 단위가 아니라 항상 포인트 단위입니다. 표현의 픽셀 크기는 이미지의 크기와 다를 수 있으며 다른 표현과 다를 수도 있습니다. 그래서, 단지 NSImage의 한 픽셀 크기 만있는 것은 아닙니다. –

답변

1

이 문제를 직접 처리해야했습니다.

당신은 이런 식으로 작업을 수행 할 수 있습니다 : 당신이 상대하고있는 망막 이미지의 경우

NSImage *image = [...]; 
NSData* data = image.TIFFRepresentation;     
NSBitmapImageRep* bitmap = [NSBitmapImageRep imageRepWithData:data]; 
CGFloat actualHeight = bitmap.pixelsHigh; 

을 그럼 당신은 bitmap.pixelsHighimage.size.height을 비교한다면, 당신은 알 수 있습니다.

+0

@ 2x 접미사로 이미지를 열려고합니다. 그것은 1024x1024이지만 언급 한 두 가지 높이 모두 내게 512의 동일한 값을줍니다. –

관련 문제