修改图片单眼2d的响应效率

This commit is contained in:
bluesea 2024-04-30 14:11:11 +08:00
parent 57349ab719
commit 622c13d4bd
4 changed files with 34 additions and 22 deletions

View File

@ -942,8 +942,8 @@
filePath = "SwiftProject/Project/Controller/RecordingVideo/CCSpatialPhotoDisplayController/CCSpatialPhotoDisplayController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "225"
endingLineNumber = "225"
startingLineNumber = "227"
endingLineNumber = "227"
landmarkName = "screenOrientationRotate()"
landmarkType = "7">
<Locations>
@ -990,8 +990,8 @@
filePath = "SwiftProject/Project/Controller/RecordingVideo/CCSpatialPhotoDisplayController/CCSpatialPhotoDisplayController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "233"
endingLineNumber = "233"
startingLineNumber = "235"
endingLineNumber = "235"
landmarkName = "screenOrientationRotate()"
landmarkType = "7">
<Locations>

View File

@ -137,10 +137,12 @@ class CCSpatialPhotoDisplayController: BaseController {
return button
}()
let imgH = 340.0
lazy var mImgView:UIImageView = {
let imageView = UIImageView()
imageView.frame = CGRect.init(x: 0, y: 250, width: self.view.frame.size.width, height: 240)
imageView.frame = CGRect.init(x: 0, y: 250, width: self.view.frame.size.width, height: imgH)
imageView.contentMode = .scaleAspectFit
imageView.backgroundColor = UIColor.black
@ -213,7 +215,7 @@ class CCSpatialPhotoDisplayController: BaseController {
make.top.equalToSuperview().offset(0)
}
mImgView.snp.updateConstraints { make in
make.height.equalTo(240)
make.height.equalTo(imgH)
}
edBtn!.snp.updateConstraints { make in
make.centerY.equalTo((edBtn?.superview!.snp.bottom)!).offset( -120)
@ -342,7 +344,7 @@ class CCSpatialPhotoDisplayController: BaseController {
self.view.addSubview(mImgView)
mImgView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.height.equalTo(240)
make.height.equalTo(imgH)
make.centerY.equalToSuperview()
}
self.view.addSubview(imgMaskView)
@ -511,7 +513,9 @@ class CCSpatialPhotoDisplayController: BaseController {
if(selectedIndex == 1){
// --- 2D(广)
let image = UIImage(data: photoOriginalData!)
mImgView.image = monocular2DImgWith(drawImg: image!, scale: currentScale)
monocular2DImgWith(drawImg: image!, scale: currentScale,callback: {[weak self] image in
self?.mImgView.image = image
})
}else {
guard let imageSource = CGImageSourceCreateWithData(imgData! as CFData, nil) else {

View File

@ -28,10 +28,14 @@ extension CCSpatialPhotoDisplayController {
if sender.state == .began {
temScale = 1.0
}
currentScale = currentScale - (temScale - sender.scale)
currentScale = min(currentScale, 1.8)
currentScale = max(currentScale, 0.3)
var ctemS = currentScale - (temScale - sender.scale)
if abs(currentScale - ctemS) < 0.1 {
return
}
//currentScale - (temScale - sender.scale)
ctemS = min(ctemS, 1.8)
ctemS = max(ctemS, 0.3)
currentScale = ctemS
temScale = sender.scale
print("\(sender.scale) currentScale....\(currentScale)")
}
@ -58,19 +62,23 @@ extension CCSpatialPhotoDisplayController {
}
//2D
func monocular2DImgWith(drawImg:UIImage,scale:CGFloat)->UIImage {
func monocular2DImgWith(drawImg:UIImage,scale:CGFloat, callback:@escaping (_ image:UIImage)->Void) {
if scale > 1 || scale < 1 {
let drawImageSize = drawImg.size
let newImgSize = CGSizeMake(drawImageSize.width * scale, drawImageSize.height * scale)
let newRect = CGRect(origin: CGPoint(x: (drawImageSize.width - newImgSize.width) * 0.5, y: (drawImageSize.height - newImgSize.height) * 0.5), size: newImgSize)
UIGraphicsBeginImageContextWithOptions(drawImageSize, false, 1);
drawImg.draw(in: newRect)
let image = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext();
return image
DispatchQueue.global(qos: DispatchQoS.QoSClass.userInteractive).async {
let drawImageSize = drawImg.size
let newImgSize = CGSizeMake(drawImageSize.width * scale, drawImageSize.height * scale)
let newRect = CGRect(origin: CGPoint(x: (drawImageSize.width - newImgSize.width) * 0.5, y: (drawImageSize.height - newImgSize.height) * 0.5), size: newImgSize)
UIGraphicsBeginImageContextWithOptions(drawImageSize, false, 1);
drawImg.draw(in: newRect)
let image = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext();
DispatchQueue.main.async {
callback(image)
}
}
}
else {
return drawImg
callback(drawImg)
}
}