完成:
1.空间图片转HOU并保存相册; 2.空间图片转FOU并保存相册;
This commit is contained in:
parent
e60458db5f
commit
38cde26cd9
@ -230,7 +230,13 @@ class VRPhotoTransformController: BaseController {
|
||||
let result:UIImage = SpatialImageConvertor.convertToHSBS(imageData: sourceImageData!)!
|
||||
UIImageWriteToSavedPhotosAlbum(result, self, #selector(completeSaveImg(_:error:contextInfo:)), nil)
|
||||
case .fsbs_3D:
|
||||
let result:UIImage = SpatialImageConvertor.convertToHSBS(imageData: sourceImageData!)!
|
||||
let result:UIImage = SpatialImageConvertor.convertToFSBS(imageData: sourceImageData!)!
|
||||
UIImageWriteToSavedPhotosAlbum(result, self, #selector(completeSaveImg(_:error:contextInfo:)), nil)
|
||||
case .hou_3d:
|
||||
let result:UIImage = SpatialImageConvertor.convertToHOU(imageData: sourceImageData!)!
|
||||
UIImageWriteToSavedPhotosAlbum(result, self, #selector(completeSaveImg(_:error:contextInfo:)), nil)
|
||||
case .fou_3D:
|
||||
let result:UIImage = SpatialImageConvertor.convertToFOU(imageData: sourceImageData!)!
|
||||
UIImageWriteToSavedPhotosAlbum(result, self, #selector(completeSaveImg(_:error:contextInfo:)), nil)
|
||||
|
||||
default:
|
||||
|
||||
@ -16,6 +16,32 @@ class SpatialImageConvertor {
|
||||
return lastImg
|
||||
}
|
||||
|
||||
//将空间照片转换为fsbs格式
|
||||
public class func convertToFSBS(imageData:Data) -> UIImage? {
|
||||
let (left_uiimage,right_uiimage) = SpatialImageConvertor.getLeftAndRightImgFrom(imageData: imageData)
|
||||
let newpb = SpatialImageConvertor.joinImages_sbs( left: left_uiimage!, right:right_uiimage! ,imgWidth: left_uiimage!.size.width*2,imgHeight:left_uiimage!.size.height)
|
||||
let lastImg = SpatialImageConvertor.convertCIImageToUIImage(ciImage: newpb)!
|
||||
return lastImg
|
||||
}
|
||||
|
||||
//将空间照片转换为hou格式
|
||||
public class func convertToHOU(imageData:Data) -> UIImage? {
|
||||
let (left_uiimage,right_uiimage) = SpatialImageConvertor.getLeftAndRightImgFrom(imageData: imageData)
|
||||
let newpb = SpatialImageConvertor.joinImages_ou( left: left_uiimage!, right:right_uiimage! ,imgWidth: left_uiimage!.size.width,imgHeight:left_uiimage!.size.height)
|
||||
let lastImg = SpatialImageConvertor.convertCIImageToUIImage(ciImage: newpb)!
|
||||
return lastImg
|
||||
}
|
||||
|
||||
//将空间照片转换为fou格式
|
||||
public class func convertToFOU(imageData:Data) -> UIImage? {
|
||||
let (left_uiimage,right_uiimage) = SpatialImageConvertor.getLeftAndRightImgFrom(imageData: imageData)
|
||||
let newpb = SpatialImageConvertor.joinImages_ou( left: left_uiimage!, right:right_uiimage! ,imgWidth: left_uiimage!.size.width,imgHeight:left_uiimage!.size.height*2)
|
||||
let lastImg = SpatialImageConvertor.convertCIImageToUIImage(ciImage: newpb)!
|
||||
return lastImg
|
||||
}
|
||||
|
||||
|
||||
|
||||
class func getLeftAndRightImgFrom(imageData:Data) -> (left_uiimage:UIImage?,right_uiimage:UIImage?){
|
||||
guard let imageSource = CGImageSourceCreateWithData(imageData as CFData, nil) else {
|
||||
return (nil,nil)
|
||||
@ -48,7 +74,7 @@ class SpatialImageConvertor {
|
||||
}
|
||||
|
||||
|
||||
//将两张图片合成一张图片
|
||||
//将两张图片合成一张图片 SBS
|
||||
class func joinImages_sbs( left:UIImage, right:UIImage,imgWidth:CGFloat,imgHeight:CGFloat) -> CIImage {
|
||||
let newImageSize = CGSize(width:imgWidth, height: imgHeight);
|
||||
UIGraphicsBeginImageContextWithOptions(newImageSize, false, 1);
|
||||
@ -60,4 +86,17 @@ class SpatialImageConvertor {
|
||||
let ci = CIImage(cgImage: image.cgImage!)
|
||||
return ci
|
||||
}
|
||||
|
||||
//将两张图片合成一张图片 OU
|
||||
class func joinImages_ou( left:UIImage, right:UIImage,imgWidth:CGFloat,imgHeight:CGFloat) -> CIImage {
|
||||
let newImageSize = CGSize(width:imgWidth, height: imgHeight);
|
||||
UIGraphicsBeginImageContextWithOptions(newImageSize, false, 1);
|
||||
left.draw(in: CGRect(x:0, y:0, width:imgWidth, height:imgHeight/2))
|
||||
right.draw(in: CGRect(x:0, y:imgHeight/2, width:imgWidth, height:imgHeight/2))
|
||||
let image = UIGraphicsGetImageFromCurrentImageContext()!
|
||||
UIGraphicsEndImageContext();
|
||||
|
||||
let ci = CIImage(cgImage: image.cgImage!)
|
||||
return ci
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user