修改图片单眼2d的响应效率
This commit is contained in:
parent
57349ab719
commit
622c13d4bd
Binary file not shown.
@ -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>
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user