【发布时间】:2018-07-31 00:53:50
【问题描述】:
您好,我有以下函数来保存具有比例因子的 jpg 图像
- (UIImage*) pixelBufferToUIImage:(CVPixelBufferRef) pixelBuffer
{
CIImage *ciImage = [CIImage imageWithCVPixelBuffer:pixelBuffer];
CIContext *temporaryContext = [CIContext contextWithOptions:nil];
CGImageRef videoImage = [temporaryContext
createCGImage:ciImage
fromRect:CGRectMake(0, 0,
CVPixelBufferGetWidth(pixelBuffer),
CVPixelBufferGetHeight(pixelBuffer))];
UIImage *uiImage = [UIImage imageWithCGImage:videoImage scale:(1/scale_factor) orientation:UIImageOrientationUp];
CGImageRelease(videoImage);
return uiImage;
}
我这样称呼这个方法,
NSData* image = UIImageJPEGRepresentation([self pixelBufferToUIImage:frame.capturedImage], 0.8);
[image writeToFile:[self getFilePathWith:folderName and:@"image.jpg"] atomically:NO];
如果我使用原始分辨率 scale_factor = 1.0f 调用保存,我会得到 1280x720 图像
但是,我想将图像大小缩小一半。我尝试设置scale_factor = 0.5f and 2.0f两者都不起作用,我得到的jpg大小为1280x720
谁能在这里指出我的错误?
【问题讨论】:
标签: ios objective-c image-processing scale