还需要调整瞳距为0时的缩放问题

This commit is contained in:
bluesea 2024-04-25 18:20:19 +08:00
parent ec2009dc4a
commit 505aca1ed8
5 changed files with 51 additions and 17 deletions

View File

@ -403,8 +403,8 @@
filePath = "SwiftProject/Project/Util/ZZHImageExtension.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "89"
endingLineNumber = "89"
startingLineNumber = "90"
endingLineNumber = "90"
landmarkName = "getRotateFrom(_:)"
landmarkType = "7">
<Locations>
@ -453,6 +453,21 @@
endingLineNumber = "87"
offsetFromSymbolStart = "616">
</Location>
<Location
uuid = "742F2A13-D3B1-41EF-8BDA-BE012155DB3C - bb01223bea0e6d8"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "__C.UIImage.getRotateFrom(__C.UIImageOrientation) -&gt; CoreGraphics.CGFloat"
moduleName = "SwiftProject"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/aaa/Documents/IOS%20Dev/VR/SwiftProject/SwiftProject/Project/Util/ZZHImageExtension.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "90"
endingLineNumber = "90"
offsetFromSymbolStart = "616">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
@ -632,5 +647,21 @@
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "33963580-0C7F-4FE4-AE70-F6DF35741254"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "SwiftProject/Project/Util/PlayByTransferConvertor.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "256"
endingLineNumber = "256"
landmarkName = "getImgWithScale(image:scale:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View File

@ -144,7 +144,7 @@ class ZZHCustomPlayer: UIView {
avPlayerLayer?.frame = CGRect(x: 0, y: 0, width: Int(playerWidth), height: playerHeight)
avPlayerLayer?.videoGravity = .resizeAspectFill
playerLayerBgView!.layer.addSublayer(avPlayerLayer!)
playerLayerBgView?.backgroundColor = UIColor.clear
playerLayerBgView?.backgroundColor = UIColor.red
//
let mpBgView = UIView(frame: avPlayerLayer!.frame)

View File

@ -178,7 +178,7 @@ class PlayByTransferConvertor {
func joinImages( leftImage:CIImage, rightImage:CIImage,scale:CGFloat,ed:Int) -> CIImage {
//,0.5
//, 1:2, -30 ~ +30
let edS = 15 //
let edS = 20 //
let left = UIImage(ciImage: leftImage )
let right = UIImage(ciImage: rightImage )
@ -193,20 +193,21 @@ class PlayByTransferConvertor {
//
let x_offset = CGFloat(abs(ed) * edS) //x
let imageWidth = left.size.width*0.5 - x_offset
print("imageWidth:\(imageWidth) ,left.size.width*0.5:\(left.size.width*0.5) ")
let imageHeight = left.size.height
let (ed_left,last_left_size) = getImgWithED(image: n_left, imgWidth: imageWidth,imageRealSize: n_left_size)
let (ed_right,last_right_size) = getImgWithED(image: n_right, imgWidth: imageWidth,imageRealSize: n_right_size)
let (ed_left,last_left_size) = getImgWithED(image: n_left, drawImgWidth: imageWidth,drawSize: n_left_size)
let (ed_right,last_right_size) = getImgWithED(image: n_right, drawImgWidth: imageWidth,drawSize: n_right_size)
print("n_left_size:\(n_left_size)\nlast_left_size\(last_left_size)")
// testImageUi(image: ed_left)
let newImageSize = left.size
UIGraphicsBeginImageContextWithOptions(newImageSize, false, 1);
if (ed > 0) {//,x0;,x
ed_left.draw(in: CGRect(x:0, y:0, width:last_left_size.width, height:last_left_size.height))
ed_right.draw(in: CGRect(x:left.size.width/2 + x_offset, y:0, width:last_right_size.width, height:last_right_size.height))
ed_left.draw(in: CGRect(x:0, y:(imageHeight - n_left_size.height) * 0.5, width:last_left_size.width, height:last_left_size.height))
ed_right.draw(in: CGRect(x:left.size.width*0.5 + x_offset, y:(imageHeight - n_right_size.height) * 0.5, width:last_right_size.width, height:last_right_size.height))
}
else if (ed < 0) {
ed_left.draw(in: CGRect(x:x_offset, y:0, width:last_left_size.width, height:last_left_size.height))
ed_right.draw(in: CGRect(x:left.size.width*0.5, y:0, width:last_right_size.width, height:last_right_size.height))
ed_left.draw(in: CGRect(x:x_offset, y:(imageHeight - n_left_size.height) * 0.5, width:last_left_size.width, height:last_left_size.height))
ed_right.draw(in: CGRect(x:left.size.width*0.5, y:(imageHeight - n_right_size.height) * 0.5, width:last_right_size.width, height:last_right_size.height))
}
else {//
let leftRect = CGRect(x:(imageWidth - n_left_size.width) * 0.5, y:(imageHeight - n_left_size.height) * 0.5 , width:n_left_size.width, height:n_left_size.height)
@ -255,18 +256,19 @@ class PlayByTransferConvertor {
return (newImage,newSize)
}
//,:imageimageRealSize,imagesizeimageRealSizesize,
func getImgWithED(image:UIImage,imgWidth:CGFloat,imageRealSize:CGSize) -> (UIImage,CGSize) {
if imageRealSize.width <= imgWidth {
//,:imagedrawSize,imagesizedrawSizesize,
func getImgWithED(image:UIImage,drawImgWidth:CGFloat,drawSize:CGSize) -> (UIImage,CGSize) {
if drawSize.width <= drawImgWidth {
print("瞳距返回,不用处理")
return (image,imageRealSize)
return (image,drawSize)
}
print("瞳距要处理")
let s = imageRealSize.height / image.size.height
let dRect = CGRectMake((imageRealSize.width - imgWidth) * s * 0.5, 0, imgWidth, image.size.height)
// let s = drawSize.height / image.size.height
let newImageWidth = drawImgWidth * image.size.height / drawSize.height
let dRect = CGRectMake((image.size.width - newImageWidth) * 0.5, 0, newImageWidth, image.size.height)
let newImage = image.imageAtRect(rect: dRect)
return (newImage!,CGSize(width: imgWidth, height: imageRealSize.height))
return (newImage!,CGSize(width: drawImgWidth, height: drawSize.height))
}
func testImageUi(image:UIImage) {

View File

@ -23,6 +23,7 @@ extension UIImage {
let final = EXImageContext.createCGImage(imageRef, from:imageRef.extent)
return UIImage(cgImage: final!)
}
print("cgimage.....>>>>>>>>>>>>>.")
let imageRef = cgImage.cropping(to: rect)
return imageRef == nil ? nil : UIImage(cgImage: imageRef!)
}