2013-02-19 5 views
15

Otrzymuję obraz z didFinishPickingMediaWithInfo.Jak uzyskać rozmiar (KB) UIImage

UIImage *originalImage = (UIImage*)[info valueForKey:UIImagePickerControllerOriginalImage]; 

Chcę uzyskać rozmiar obrazu w Kb.

+0

Rozmiar wewnętrznej reprezentacji lub rozmiar pliku na dysku? – trojanfoe

+1

Podobne pytanie http://stackoverflow.com/questions/10815292/how-to-get-size-of-uiimage-size-like-500-kb-600-kb-etc – Shashank

+0

@trojanfoe na dysku –

Odpowiedz

24
UIImage *originalImage = (UIImage*)[info valueForKey:UIImagePickerControllerOriginalImage]; 
    NSData *imgData = UIImageJPEGRepresentation(originalImage, 1); //1 it represents the quality of the image. 
    NSLog(@"Size of Image(bytes):%d",[imgData length]); 
    imgData = nil; 
+11

Wygląda na drogie! Tworzysz duplikat reprezentacji na dysku, aby uzyskać jego rozmiar! – trojanfoe

+1

@trojanfoe jakiekolwiek inne rozwiązanie? –

+1

@AmiriDev, jeśli pochodzi z dysku, można uzyskać adres URL ze słownika przekazanego za pośrednictwem tego delegowanego wywołania, a następnie użyć 'NSFileManager' w celu uzyskania informacji o pliku. Domyślam się tylko ... – trojanfoe