Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将图像裁剪到指定的大小和图片位置_Ios_Uiimage_Crop_Avcapturesession - Fatal编程技术网

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

Ios 将图像裁剪到指定的大小和图片位置,ios,uiimage,crop,avcapturesession,Ios,Uiimage,Crop,Avcapturesession,我有一个正在使用AVCaptureSession拍摄的图像,并返回到我的视图控制器 以下是摄像头界面的屏幕截图: AVCaptureSession拍摄全屏照片,现在我想将其裁剪到上面可见窗口的大小 窗口将始终位于相同的位置和大小 高度=360(180非视网膜)像素,宽度=640(320非视网膜)像素,x=0,y=160 如何将图像裁剪到这些坐标,使图像本身现在为360 x 640 任何帮助都会很好,谢谢 您需要这样做。我是在头顶上打字,所以这可能不是100%正确 CGColorSpaceRef

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

以下是摄像头界面的屏幕截图:

AVCaptureSession拍摄全屏照片,现在我想将其裁剪到上面可见窗口的大小

窗口将始终位于相同的位置和大小

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

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


任何帮助都会很好,谢谢

您需要这样做。我是在头顶上打字,所以这可能不是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);      

我现在正试图实现这一点,但是4*的宽度应该是多少?另外,捕获管理器返回一个UIImage,因此我不得不使用(_bridgecgimagerf)(capturedImage)。这会有所不同吗?您可以使用img.cgImage从UIImage获取cgImage。对于RGBA,4表示每像素4字节。另外,对不起,我想用640代替宽度,所以您可以使用4*640或设置宽度和高度的变量。此外,-160是y偏移量,也可能是一个变量。这是我最近得到的!因此,它以一种奇怪的方式裁剪了图像。它基本上是将整个图像侧向,然后将其切成两半。我会玩一点的价值观。在创建上下文时,我还收到一条警告:“从枚举类型‘enum CGImageAlphaInfo’隐式转换为不同的枚举类型‘CGBitmapInfo’(也称为‘enum CGBitmapInfo’)。知道这是什么吗?实际上,如果我将rect更改为(0,0,640,360)它基本上是拍摄图像并将其侧向旋转,但它非常适合我将其发送到的UIImageView