照片转换为UIImage的JPEG NSData转换为JPEG尺寸完全不同

时间:2015-03-19 19:46:47

标签: ios objective-c uiimage avfoundation jpeg

为什么第一张JPEG图像的字节是第二张图像的1/4?

[_stillOutput captureStillImageAsynchronouslyFromConnection:videoConnection:videoConnection completionHandler:
 ^(CMSampleBufferRef imageSampleBuffer, NSError * error)
 {
     NSData* imageBytes = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];
     NSLog(@"Size = %ld", imageBytes.length);

     UIImage* image2 = [UIImage imageWithData:imageBytes];
     NSData* imageBytes2 = UIImageJPEGRepresentation(image2, 1.0);
     NSLog(@"Size = %ld", imageBytes2.length);
...

第一个尺寸是1,528,278,第二个尺寸是4,289,184。 他们的大小不一样吗?

有没有办法指定jpegStillImageNSDataRepresentation:imageSampleBuffer的缩放和压缩?

1 个答案:

答案 0 :(得分:1)

显然Apple的jpegStillImageNSDataRepresentation默认为0.85左右的压缩。因此,通过设置UIImageJPEGRepresentation,我得到相同的大小。