JPEG NSData of phototurn UIImage turn JPEG is完全不同的大小
Posted
技术标签:
【中文标题】JPEG NSData of phototurn UIImage turn JPEG is完全不同的大小【英文标题】:JPEG NSData of photo turned UIImage turned JPEG is completely different size 【发布时间】:2015-03-19 19:46:47 【问题描述】:为什么第一个 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
的缩放和压缩?
【问题讨论】:
我的猜测是NSData* imageBytes2 = UIImageJPEGRepresentation(image2, 0.25);
你应该得到相同的结果。
不。 0.85 给出相同的大小。
【参考方案1】:
显然 Apple 的 jpegStillImageNSDataRepresentation 默认压缩为 0.85 左右。因此,通过将 UIImageJPEGRepresentation 设置为我得到相同的大小。
【讨论】:
以上是关于JPEG NSData of phototurn UIImage turn JPEG is完全不同的大小的主要内容,如果未能解决你的问题,请参考以下文章