裁剪图像到指定的大小和图片位置

时间:2013-12-31 23:31:37

标签: ios uiimage crop avcapturesession

我有一个使用AVCaptureSession拍摄并返回到我的视图控制器的图像。

以下是相机界面的屏幕截图:

enter image description here

AVCaptureSession拍摄FULL SCREEN照片,现在我想将其裁剪为上方可见窗口的大小。

窗口将始终位于相同位置且大小相同。

高度= 360(180非视网膜)px,宽度= 640(320非视网膜)px,x = 0,y = 160。

如何将图像裁剪为这些坐标,使图像本身现在为360 x 640?

任何帮助都会很棒,谢谢!

1 个答案:

答案 0 :(得分:0)

你需要做这样的事情。我正在打顶,所以这可能不是100%正确。

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, 640, 360, 8, 4 * width, colorSpace, kCGImageAlphaPremultipliedFirst);
CGColorSpaceRelease(colorSpace);

CGContextDrawImage(context, CGRectMake(0,-160,640,360), cgImgFromAVCaptureSession);

CGImageRef image = CGBitmapContextCreateImage(context);
UIImage* myCroppedImg = [UIImage imageWithCGImage:image];
CGContextRelease(context);