이미지를 NSImageView에 놓고 이미지의 크기를 출력합니다. 이것은 표준 이미지에서는 잘 작동하지만 망막이 아닌 크기의 망막 이미지의 크기를 출력하고 싶습니다. 예를 들어 100x100 @ 2x 이미지와 같이 50x50의 크기를 출력하고 싶습니다. 파일 이름을 탐지하는 것 외에도이 작업을 수행하는 방법을 알 수 없습니다. 출력 크기를 조작 할 수 있도록 이미지의 크기를 감지하는 방법이 있습니까?레티 나 NSImage의 크기 감지
1
A
답변
1
이 문제를 직접 처리해야했습니다.
당신은 이런 식으로 작업을 수행 할 수 있습니다 : 당신이 상대하고있는 망막 이미지의 경우
NSImage *image = [...];
NSData* data = image.TIFFRepresentation;
NSBitmapImageRep* bitmap = [NSBitmapImageRep imageRepWithData:data];
CGFloat actualHeight = bitmap.pixelsHigh;
을 그럼 당신은 bitmap.pixelsHigh
에 image.size.height
을 비교한다면, 당신은 알 수 있습니다.
+0
@ 2x 접미사로 이미지를 열려고합니다. 그것은 1024x1024이지만 언급 한 두 가지 높이 모두 내게 512의 동일한 값을줍니다. –
일반적인 명명 규칙은 100x100 @ 2x 이미지가 200x200 픽셀이고 50x50 픽셀이 아니라는 것을 의미합니다. 'NSImage'는 여러 표현을 가질 수 있습니다. 이미지의 크기는 픽셀 단위가 아니라 항상 포인트 단위입니다. 표현의 픽셀 크기는 이미지의 크기와 다를 수 있으며 다른 표현과 다를 수도 있습니다. 그래서, 단지 NSImage의 한 픽셀 크기 만있는 것은 아닙니다. –