天天看点

iOS自定义拍照框拍照&裁剪(二)

1.相片旋转问题,这个在“iOS自定义拍照框拍照&裁剪(一)”已经处理 2.裁剪区域问题。 3.预览显示问题。
1.计算出拍照背景框相对于屏幕的区域。假设为(12,193,200,100) 2.计算相对于图片的区域。如图(12,120,200,100) 3.根据屏幕旋转方向计算相对于 修正方向后的图片的裁剪区域,如果是水平拍摄的图片,此裁剪区域需要计算转换。(445,12,100,200) 4.根据屏幕内图片的裁剪区域,计算相对于原始图片大小范围内的裁剪区域。 5.根据裁剪区域使用CGImageRef imageRef = CGImageCreateWithImageInRect(image.CGImage, rect);获取裁剪后的图片数据。
iOS自定义拍照框拍照&裁剪(二)
1.使用上述计算中得到的 屏幕内图片的裁剪区域clipRC,计算预览图片是的相机框显示区域。如果本身是竖直显示的图片,则 clipRC 即是 预览显示时相机框的预期。如果是横着显示的照片,则需要对clipRC进行等比压缩计算。如下图 2.根据屏幕旋转方向获取预览显示拍照框图片,比如横着显示的图片,拍照框也需要旋转90度。如下图
iOS自定义拍照框拍照&裁剪(二)
计算背景框相对于当前设备大小的CGRect
计算显示区域