2012-10-15 3 views

답변

1

이미지를 사용할 수있는 디스크에있는 파일의 크기를 얻으려면 UIImage는 바이트를 모두 가지고있을 때 사용합니다. 따라서 일반적으로 NSData 객체로 저장된 이미지의 크기를 결정할 수 없습니다.

모든 NSData 이미지가 동일한 형식 (예 : PNG)으로 저장되도록 보장 할 수 있으면 NData에서 PNG 데이터 파일 형식을 기반으로하는 크기 정보를 검색 할 수 있습니다. UIImage를 데이터에서 생성하는 것보다 더 효율적일 수 있습니다. 그러나 분명히 그것은 훨씬 더 많은 작업입니다.

+1

PNG는 모든 PNG가있는 경우 크기 정보를 추출하기위한 빠른 파서를 작성하기가 특히 쉽습니다. 파일의 첫 번째 청크 인 IHDR 청크의 시작 부분입니다. http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html –

+0

JPEG 형식입니다. – Andrew

+0

@Andrew : JPG의 경우처럼 간단합니다. http://www.fastgraph.com/help/jpeg_header_format.html –

2

CoreGraphics 또는 UIKit을 사용하지 않습니다. 이진 스트림을 검사해야합니다. 다행스럽게도 다른 많은 언어로되어 있습니다. 빠른 google은 파일 형식 (jpg, bmp, png 및 gif)을 결정하고 이미지의 크기를 가져 오는 Ruby에서 this implementation을 발견했습니다. NSData를 사용하여 Objective-C로 쉽게 변환 할 수 있어야합니다. parse_size 기능에서 시작하십시오.

관련 문제